This is an automated email from the ASF dual-hosted git repository.

wusheng 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 7db60e3  add profile task query segment list and analyzation (#29)
7db60e3 is described below

commit 7db60e3b09a72a1b0bbdb10b912114efef6019d2
Author: mrproliu <[email protected]>
AuthorDate: Fri Jan 31 15:25:41 2020 +0800

    add profile task query segment list and analyzation (#29)
    
    * add query segment list by profile task
    
    * remove unused blank line
    
    * provide profiled segment analyzation
    
    * change names, alter query analyzation using timestamp
    
    * add max recursion count, some code using recursion method invoke, need to 
detect it
    
    * rename ThreadStackAnalyzation -> ProfileStackElement, delete 
maxRecursionCount
---
 profile.graphqls | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/profile.graphqls b/profile.graphqls
index 0e41ce7..cc80e70 100644
--- a/profile.graphqls
+++ b/profile.graphqls
@@ -84,6 +84,26 @@ type ProfileTask {
     logs: [ProfileTaskLog!]!
 }
 
+# Profile thread stack anayze tree
+type ProfileStackElement {
+    # stack code signature
+    codeSignature: String!
+    # self include children duration(millisecond)
+    duration: Int!
+    # self exclude children duration(millisecond)
+    durationChildExcluded: Int!
+    # total dump count
+    count: Int!
+    # children of this stack code sign
+    childs: [ProfileStackElement!]
+}
+
+# Profile analyze result
+type ProfileAnalyzation {
+    # thread stack dump analyze tree
+    stack: [ProfileStackElement!]!
+}
+
 extend type Mutation {
     # crate new profile task
     createProfileTask(creationRequest: ProfileTaskCreationRequest): 
ProfileTaskCreationResult!
@@ -92,4 +112,8 @@ extend type Mutation {
 extend type Query {
     # query all task list, order by ProfileTask#startTime descending
     getProfileTaskList(serviceId: ID, endpointName: String): [ProfileTask!]!
+    # query all task profiled segment list
+    getProfileTaskSegmentList(taskID: String): [BasicTrace!]!
+    # analyze profiled segment, start and end time use timestamp(millisecond)
+    getProfileAnalyze(segmentId: String!, start: Long!, end: Long!): 
ProfileAnalyzation!
 }

Reply via email to