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!]!
+}