blob: 4bc74b64eaf596835f671f18d122a727b0b55973 [file] [log] [blame]
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"anyOf": [
{ "$ref": "#/definitions/meta" },
{ "$ref": "#/definitions/kernel" },
{ "$ref": "#/definitions/job" },
{ "$ref": "#/definitions/process" },
{ "$ref": "#/definitions/thread" }
]
},
"definitions": {
"meta": {
"type": "object",
"properties": {
"type": {
"type": "string",
"pattern": "^__"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
},
"required": [ "type" ]
},
"_node": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string" },
"parent": { "type": "string" },
"name": { "type": "string" }
},
"required": [ "id", "type", "parent", "name" ]
},
"kernel": {
"allOf": [
{ "$ref": "#/definitions/_node" },
{
"properties": {
"id": { "type": "string", "pattern": "^kernel/.*" },
"type": { "type": "string", "pattern": "^kernel$" },
"size_bytes": { "type": "integer" }
},
"required": [ "size_bytes" ]
}
]
},
"_task": {
"allOf": [
{ "$ref": "#/definitions/_node" },
{
"properties": {
"koid": { "type": "integer" }
},
"required": [ "koid" ]
}
]
},
"job": {
"allOf": [
{ "$ref": "#/definitions/_task" },
{
"properties": {
"id": { "type": "string", "pattern": "^j/.*" },
"type": { "type": "string", "pattern": "^j$" }
}
}
]
},
"process": {
"allOf": [
{ "$ref": "#/definitions/_task" },
{
"properties": {
"id": { "type": "string", "pattern": "^p/.*" },
"type": { "type": "string", "pattern": "^p$" },
"private_bytes": { "type": "integer" },
"shared_bytes": { "type": "integer" },
"pss_bytes": { "type": "integer" },
"vmos": {
"type": "array",
"items": { "$ref": "#/definitions/vmo" }
},
"vmo_refs": {
"type": "array",
"items": { "$ref": "#/definitions/vmo_ref" }
},
"handle_stats": {
"type": "object",
"patternProperties": {
"[a-zA-Z0-9_]+": {
"type": "integer"
}
}
}
},
"required": [ "private_bytes", "shared_bytes", "pss_bytes" ]
}
]
},
"thread": {
"allOf": [
{ "$ref": "#/definitions/_task" },
{
"properties": {
"id": { "type": "string", "pattern": "^t/.*" },
"type": { "type": "string", "pattern": "^t$" },
"state": { "type": "string" }
},
"required": [ "state" ]
}
]
},
"vmo": {
"type": "object",
"properties": {
"koid": { "type": "integer" },
"name": { "type": "string" },
"size_bytes": { "type": "integer" },
"parent_koid": { "type": "integer" },
"num_children": { "type": "integer" },
"num_mappings": { "type": "integer" },
"share_count": { "type": "integer" },
"committed_bytes": { "type": "integer" }
},
"required": [ "koid" ]
},
"vmo_ref": {
"type": "object",
"properties": {
"vmo_koid": { "type": "integer" },
"via": {
"type": "array",
"items": { "type": "string" }
},
"handle_rights": {
"type": "array",
"items": { "type": "string" }
}
},
"required": [ "vmo_koid", "via" ]
}
}
}