]>
Commit | Line | Data |
---|---|---|
81345200 A |
1 | { |
2 | "domain": "Profiler", | |
3 | "types": [ | |
4 | { | |
5 | "id": "ProfileHeader", | |
6 | "type": "object", | |
7 | "description": "Profile header.", | |
8 | "properties": [ | |
9 | { "name": "typeId", "type": "string", "enum": ["CPU"], "description": "Profile type name." }, | |
10 | { "name": "title", "type": "string", "description": "Profile title." }, | |
11 | { "name": "uid", "type": "integer", "description": "Unique identifier of the profile." } | |
12 | ] | |
13 | }, | |
14 | { | |
15 | "id": "CPUProfileNodeCall", | |
16 | "type": "object", | |
17 | "description": "CPU Profile call info. Holds time information for a specific call that happened on a node.", | |
18 | "properties": [ | |
19 | { "name": "startTime", "type": "number", "description": "Start time for the call." }, | |
20 | { "name": "totalTime", "type": "number", "description": "Total execution time for the call." } | |
21 | ] | |
22 | }, | |
23 | { | |
24 | "id": "CPUProfileNode", | |
25 | "type": "object", | |
26 | "description": "CPU Profile node. Holds callsite information, execution statistics and child nodes.", | |
27 | "properties": [ | |
28 | { "name": "id", "type": "integer", "description": "Unique identifier for this call site." }, | |
29 | { "name": "calls", "type": "array", "items": { "$ref": "CPUProfileNodeCall" }, "description": "Calls making up this node." }, | |
30 | { "name": "functionName", "type": "string", "optional": true, "description": "Function name." }, | |
31 | { "name": "url", "type": "string", "optional": true, "description": "URL." }, | |
32 | { "name": "lineNumber", "type": "integer", "optional": true, "description": "Line number." }, | |
33 | { "name": "columnNumber", "type": "integer", "optional": true, "description": "Column number." }, | |
34 | { "name": "children", "type": "array", "items": { "$ref": "CPUProfileNode" }, "optional": true, "description": "Child nodes." } | |
35 | ] | |
36 | }, | |
37 | { | |
38 | "id": "CPUProfile", | |
39 | "type": "object", | |
40 | "description": "Profile.", | |
41 | "properties": [ | |
42 | { "name": "rootNodes", "type": "array", "items": { "$ref": "CPUProfileNode" }, "description": "Top level nodes in the stack." }, | |
43 | { "name": "idleTime", "type": "number", "optional": true } | |
44 | ] | |
45 | } | |
46 | ], | |
47 | "commands": [ | |
48 | { | |
49 | "name": "enable" | |
50 | }, | |
51 | { | |
52 | "name": "disable" | |
53 | }, | |
54 | { | |
55 | "name": "start" | |
56 | }, | |
57 | { | |
58 | "name": "stop" | |
59 | }, | |
60 | { | |
61 | "name": "getProfileHeaders", | |
62 | "returns": [ | |
63 | { "name": "headers", "type": "array", "items": { "$ref": "ProfileHeader"} } | |
64 | ] | |
65 | }, | |
66 | { | |
67 | "name": "getCPUProfile", | |
68 | "parameters": [ | |
69 | { "name": "uid", "type": "integer" } | |
70 | ], | |
71 | "returns": [ | |
72 | { "name": "profile", "$ref": "CPUProfile" } | |
73 | ] | |
74 | }, | |
75 | { | |
76 | "name": "removeProfile", | |
77 | "parameters": [ | |
78 | { "name": "type", "type": "string" }, | |
79 | { "name": "uid", "type": "integer" } | |
80 | ] | |
81 | }, | |
82 | { | |
83 | "name": "clearProfiles" | |
84 | } | |
85 | ], | |
86 | "events": [ | |
87 | { | |
88 | "name": "addProfileHeader", | |
89 | "parameters": [ | |
90 | { "name": "header", "$ref": "ProfileHeader" } | |
91 | ] | |
92 | }, | |
93 | { | |
94 | "name": "setRecordingProfile", | |
95 | "parameters": [ | |
96 | { "name": "isProfiling", "type": "boolean" } | |
97 | ] | |
98 | }, | |
99 | { | |
100 | "name": "resetProfiles" | |
101 | } | |
102 | ] | |
103 | } |