blob: 1f60d9db092f41b36b9c7b1abae9423f46d4c96c [file] [log] [blame]
{
"domain": "CPUProfiler",
"description": "CPUProfiler domain exposes cpu usage tracking.",
"featureGuard": "ENABLE(RESOURCE_USAGE)",
"availability": ["web"],
"types": [
{
"id": "ThreadInfo",
"description": "CPU usage for an individual thread.",
"type": "object",
"properties": [
{ "name": "name", "type": "string", "description": "Some thread identification information." },
{ "name": "usage", "type": "number", "description": "CPU usage for this thread. This should not exceed 100% for an individual thread." },
{ "name": "type", "type": "string", "enum": ["main", "webkit"], "optional": true, "description": "Type of thread. There should be a single main thread." },
{ "name": "targetId", "type": "string", "optional": true, "description": "A thread may be associated with a target, such as a Worker, in the process." }
]
},
{
"id": "Event",
"type": "object",
"properties": [
{ "name": "timestamp", "type": "number" },
{ "name": "usage", "type": "number", "description": "Percent of total cpu usage. If there are multiple cores the usage may be greater than 100%." },
{ "name": "threads", "type": "array", "items": { "$ref": "ThreadInfo" }, "optional": true, "description": "Per-thread CPU usage information. Does not include the main thread." }
]
}
],
"commands": [
{
"name": "startTracking",
"description": "Start tracking cpu usage."
},
{
"name": "stopTracking",
"description": "Stop tracking cpu usage. This will produce a `trackingComplete` event."
}
],
"events": [
{
"name": "trackingStart",
"description": "Tracking started.",
"parameters": [
{ "name": "timestamp", "type": "number" }
]
},
{
"name": "trackingUpdate",
"description": "Periodic tracking updates with event data.",
"parameters": [
{ "name": "event", "$ref": "Event" }
]
},
{
"name": "trackingComplete",
"description": "Tracking stopped.",
"parameters": [
{ "name": "timestamp", "type": "number" }
]
}
]
}