Index: third_party/WebKit/Source/platform/v8_inspector/protocol/HeapProfiler.json |
diff --git a/third_party/WebKit/Source/platform/v8_inspector/protocol/HeapProfiler.json b/third_party/WebKit/Source/platform/v8_inspector/protocol/HeapProfiler.json |
new file mode 100644 |
index 0000000000000000000000000000000000000000..22c5cc2378cc7b15182488c43012ccde224a5ddd |
--- /dev/null |
+++ b/third_party/WebKit/Source/platform/v8_inspector/protocol/HeapProfiler.json |
@@ -0,0 +1,248 @@ |
+{ |
+ "domain": "HeapProfiler", |
+ "version": { |
+ "major": "1", |
+ "minor": "1" |
+ }, |
+ "dependencies": [ |
+ "Runtime" |
+ ], |
+ "hidden": true, |
+ "types": [ |
+ { |
+ "id": "HeapSnapshotObjectId", |
+ "type": "string", |
+ "description": "Heap snapshot object id." |
+ }, |
+ { |
+ "id": "SamplingHeapProfileNode", |
+ "type": "object", |
+ "description": "Sampling Heap Profile node. Holds callsite information, allocation statistics and child nodes.", |
+ "properties": [ |
+ { |
+ "name": "functionName", |
+ "type": "string", |
+ "description": "Function name." |
+ }, |
+ { |
+ "name": "scriptId", |
+ "$ref": "Runtime.ScriptId", |
+ "description": "Script identifier." |
+ }, |
+ { |
+ "name": "url", |
+ "type": "string", |
+ "description": "URL." |
+ }, |
+ { |
+ "name": "lineNumber", |
+ "type": "integer", |
+ "description": "1-based line number of the function start position." |
+ }, |
+ { |
+ "name": "columnNumber", |
+ "type": "integer", |
+ "description": "1-based column number of the function start position." |
+ }, |
+ { |
+ "name": "selfSize", |
+ "type": "number", |
+ "description": "Allocations size in bytes for the node excluding children." |
+ }, |
+ { |
+ "name": "children", |
+ "type": "array", |
+ "items": { |
+ "$ref": "SamplingHeapProfileNode" |
+ }, |
+ "description": "Child nodes." |
+ } |
+ ] |
+ }, |
+ { |
+ "id": "SamplingHeapProfile", |
+ "type": "object", |
+ "description": "Profile.", |
+ "properties": [ |
+ { |
+ "name": "head", |
+ "$ref": "SamplingHeapProfileNode" |
+ } |
+ ] |
+ } |
+ ], |
+ "commands": [ |
+ { |
+ "name": "enable" |
+ }, |
+ { |
+ "name": "disable" |
+ }, |
+ { |
+ "name": "startTrackingHeapObjects", |
+ "parameters": [ |
+ { |
+ "name": "trackAllocations", |
+ "type": "boolean", |
+ "optional": true |
+ } |
+ ] |
+ }, |
+ { |
+ "name": "stopTrackingHeapObjects", |
+ "parameters": [ |
+ { |
+ "name": "reportProgress", |
+ "type": "boolean", |
+ "optional": true, |
+ "description": "If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken when the tracking is stopped." |
+ } |
+ ] |
+ }, |
+ { |
+ "name": "takeHeapSnapshot", |
+ "parameters": [ |
+ { |
+ "name": "reportProgress", |
+ "type": "boolean", |
+ "optional": true, |
+ "description": "If true 'reportHeapSnapshotProgress' events will be generated while snapshot is being taken." |
+ } |
+ ] |
+ }, |
+ { |
+ "name": "collectGarbage" |
+ }, |
+ { |
+ "name": "getObjectByHeapObjectId", |
+ "parameters": [ |
+ { |
+ "name": "objectId", |
+ "$ref": "HeapSnapshotObjectId" |
+ }, |
+ { |
+ "name": "objectGroup", |
+ "type": "string", |
+ "optional": true, |
+ "description": "Symbolic group name that can be used to release multiple objects." |
+ } |
+ ], |
+ "returns": [ |
+ { |
+ "name": "result", |
+ "$ref": "Runtime.RemoteObject", |
+ "description": "Evaluation result." |
+ } |
+ ] |
+ }, |
+ { |
+ "name": "addInspectedHeapObject", |
+ "parameters": [ |
+ { |
+ "name": "heapObjectId", |
+ "$ref": "HeapSnapshotObjectId", |
+ "description": "Heap snapshot object id to be accessible by means of $x command line API." |
+ } |
+ ], |
+ "description": "Enables console to refer to the node with given id via $x (see Command Line API for more details $x functions)." |
+ }, |
+ { |
+ "name": "getHeapObjectId", |
+ "parameters": [ |
+ { |
+ "name": "objectId", |
+ "$ref": "Runtime.RemoteObjectId", |
+ "description": "Identifier of the object to get heap object id for." |
+ } |
+ ], |
+ "returns": [ |
+ { |
+ "name": "heapSnapshotObjectId", |
+ "$ref": "HeapSnapshotObjectId", |
+ "description": "Id of the heap snapshot object corresponding to the passed remote object id." |
+ } |
+ ] |
+ }, |
+ { |
+ "name": "startSampling", |
+ "parameters": [ |
+ { |
+ "name": "samplingInterval", |
+ "type": "number", |
+ "optional": true, |
+ "description": "Average sample interval in bytes. Poisson distribution is used for the intervals. The default value is 32768 bytes." |
+ } |
+ ] |
+ }, |
+ { |
+ "name": "stopSampling", |
+ "returns": [ |
+ { |
+ "name": "profile", |
+ "$ref": "SamplingHeapProfile", |
+ "description": "Recorded sampling heap profile." |
+ } |
+ ] |
+ } |
+ ], |
+ "events": [ |
+ { |
+ "name": "addHeapSnapshotChunk", |
+ "parameters": [ |
+ { |
+ "name": "chunk", |
+ "type": "string" |
+ } |
+ ] |
+ }, |
+ { |
+ "name": "resetProfiles" |
+ }, |
+ { |
+ "name": "reportHeapSnapshotProgress", |
+ "parameters": [ |
+ { |
+ "name": "done", |
+ "type": "integer" |
+ }, |
+ { |
+ "name": "total", |
+ "type": "integer" |
+ }, |
+ { |
+ "name": "finished", |
+ "type": "boolean", |
+ "optional": true |
+ } |
+ ] |
+ }, |
+ { |
+ "name": "lastSeenObjectId", |
+ "description": "If heap objects tracking has been started then backend regulary sends a current value for last seen object id and corresponding timestamp. If the were changes in the heap since last event then one or more heapStatsUpdate events will be sent before a new lastSeenObjectId event.", |
+ "parameters": [ |
+ { |
+ "name": "lastSeenObjectId", |
+ "type": "integer" |
+ }, |
+ { |
+ "name": "timestamp", |
+ "type": "number" |
+ } |
+ ] |
+ }, |
+ { |
+ "name": "heapStatsUpdate", |
+ "description": "If heap objects tracking has been started then backend may send update for one or more fragments", |
+ "parameters": [ |
+ { |
+ "name": "statsUpdate", |
+ "type": "array", |
+ "items": { |
+ "type": "integer" |
+ }, |
+ "description": "An array of triplets. Each triplet describes a fragment. The first integer is the fragment index, the second integer is a total count of objects for the fragment, the third integer is a total size of the objects for the fragment." |
+ } |
+ ] |
+ } |
+ ] |
+} |