You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ke...@apache.org on 2019/12/28 03:52:53 UTC
[skywalking-query-protocol] branch master updated: Provide thread
monitor task create GraphQL (#21)
This is an automated email from the ASF dual-hosted git repository.
kezhenxu94 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking-query-protocol.git
The following commit(s) were added to refs/heads/master by this push:
new 15246fa Provide thread monitor task create GraphQL (#21)
15246fa is described below
commit 15246fa43b9a1eca63e47b6d3aa6818ea788bf58
Author: mrproliu <74...@qq.com>
AuthorDate: Sat Dec 28 11:52:44 2019 +0800
Provide thread monitor task create GraphQL (#21)
* Create profile.graphql
add thread monitor task create GraphQL
* resolve issues
* 1. change ThreadMonitorTaskCreator -> ThreadMonitorTaskCreationRequest
2. delete ThreadMonitorTaskCreationResult#success field
* change create task param name
* add query task list GraphQL
---
profile.graphql | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 69 insertions(+)
diff --git a/profile.graphql b/profile.graphql
new file mode 100644
index 0000000..c70e1a2
--- /dev/null
+++ b/profile.graphql
@@ -0,0 +1,69 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Thread monitor task create need data
+input ThreadMonitorTaskCreationRequest {
+ # need to monitor service id
+ serviceId: ID!
+ # endpoint name to monitored under the special service.
+ endpointName: String!
+ # if null means the task starts ASAP, otherwise the task begin after the startTime(based on agent side time)
+ startTime: Long
+ # thread monitor duration of this task
+ duration: Int!
+ # thread monitor duration unit
+ durationUnit: Step!
+ # when the segment starts to execute, how long must it take before the monitor can be enbaled
+ minDurationThreshold: Int!
+ # when start monitor, time interval for each thread dumping the stack
+ dumpPeriod: Int!
+}
+
+# Thread monitor task create result
+input ThreadMonitorTaskCreationResult {
+ # if null or empty means the task create success, otherwise get create error reason
+ errorReason: String
+
+ # get data id when create success
+ id: String
+}
+
+type ThreadMonitorTask {
+ id: String!
+ # monitor service
+ serviceId: ID!
+ serviceName: String!
+ # endpoint name to monitored under the special service.
+ endpointName: String!
+ # task start time (timestamp)
+ startTime: Long!
+ # thread monitor duration of this task (second)
+ duration: Int!
+ # when the segment starts to execute, how long must it take before the monitor can be enbaled
+ minDurationThreshold: Int!
+ # when start monitor, time interval for each thread dumping the stack
+ dumpPeriod: Int!
+}
+
+extend type Mutation {
+ # crate new thread monitor task
+ createTask(creationRequest: ThreadMonitorTaskCreationRequest): ThreadMonitorTaskCreationResult!
+}
+
+extend type Query {
+ # query task list
+ getTaskList(serviceId: ID, endpointName: String, duration: Duration!): [ThreadMonitorTask!]!
+}