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