]> git.saurik.com Git - apple/javascriptcore.git/blame - inspector/protocol/Profiler.json
JavaScriptCore-7600.1.4.17.5.tar.gz
[apple/javascriptcore.git] / inspector / protocol / Profiler.json
CommitLineData
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}