| { | |
| "$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" ] | |
| } | |
| } | |
| } |