aboutsummaryrefslogtreecommitdiffstats
path: root/src/devtools/idl-monitor.json
diff options
context:
space:
mode:
Diffstat (limited to 'src/devtools/idl-monitor.json')
-rw-r--r--src/devtools/idl-monitor.json296
1 files changed, 296 insertions, 0 deletions
diff --git a/src/devtools/idl-monitor.json b/src/devtools/idl-monitor.json
new file mode 100644
index 00000000..5afc29d0
--- /dev/null
+++ b/src/devtools/idl-monitor.json
@@ -0,0 +1,296 @@
+{
+ "afbidl": "0.1",
+ "info": {
+ "description": "monitoring of bindings and internals",
+ "title": "monitor",
+ "version": "1.0"
+ },
+ "generator": {
+ "genskel": {
+ "version": 2,
+ "prefix": "f_",
+ "postfix": "",
+ "preinit": null,
+ "init": null,
+ "onevent": null,
+ "scope": "static",
+ "private": true
+ }
+ },
+ "api": {
+ "name": "monitor",
+ "verbs": {
+ "get": {
+ "description": "Get monitoring data.",
+ "permissions": { "session": "check" },
+ "request": { "$ref": "#/schemas/get-request" },
+ "reply": { "$ref": "#/schemas/get-reply" }
+ },
+ "set": {
+ "description": "Set monitoring actions.",
+ "permissions": { "session": "check" },
+ "request": { "$ref": "#/schemas/set-request" },
+ "reply": { "$ref": "#/schemas/any" }
+ },
+ "trace": {
+ "description": "Set monitoring actions.",
+ "permissions": { "session": "check" },
+ "request": { "$ref": "#/schemas/trace-request" },
+ "reply": { "$ref": "#/schemas/any" }
+ },
+ "session": {
+ "description": "describes the session.",
+ "permissions": { "session": "check" },
+ "request": { "$ref": "#/schemas/session-request" },
+ "reply": { "$ref": "#/schemas/any" }
+ }
+ }
+ },
+ "schemas": {
+ "any": {
+ "title": "Any value",
+ "type": [ "null", "boolean", "object", "array", "number", "string" ]
+ },
+ "set-request": {
+ "type": "object",
+ "properties": {
+ "verbosity": { "$ref": "#/schemas/set-verbosity" }
+ }
+ },
+ "set-verbosity": {
+ "anyOf": [
+ { "$ref": "#/schemas/verbosity-map" },
+ { "$ref": "#/schemas/verbosity-level" }
+ ]
+ },
+ "get-request": {
+ "type": "object",
+ "properties": {
+ "verbosity": { "$ref": "#/schemas/get-verbosity" },
+ "apis": { "$ref": "#/schemas/get-apis" }
+ }
+ },
+ "get-reply": {
+ "type": "object",
+ "properties": {
+ "verbosity": { "$ref": "#/schemas/verbosity-map" },
+ "apis": { "type": "object" }
+ }
+ },
+ "get-verbosity": {
+ "anyOf": [
+ { "type": "boolean" },
+ { "type": "array", "items": { "type": "string" } },
+ { "type": "object" }
+ ]
+ },
+ "get-apis": {
+ "anyOf": [
+ { "type": "boolean" },
+ { "type": "array", "items": { "type": "string" } },
+ { "type": "object" }
+ ]
+ },
+ "verbosity-map": {
+ "type": "object",
+ "patternProperties": { "^.*$": { "$ref": "#/schemas/verbosity-level" } }
+ },
+ "verbosity-level": {
+ "enum": [ "debug", 3, "info", 2, "notice", "warning", 1, "error", 0 ]
+ },
+ "trace-request": {
+ "type": "object",
+ "properties": {
+ "add": { "$ref": "#/schemas/trace-add" },
+ "drop": { "$ref": "#/schemas/trace-drop" }
+ }
+ },
+ "trace-add": {
+ "anyOf": [
+ { "type": "array", "items": { "$ref": "#/schemas/trace-add-object" } },
+ { "$ref": "#/schemas/trace-add-any" }
+ ]
+ },
+ "trace-add-any": {
+ "anyOf": [
+ { "$ref": "#/schemas/trace-add-request" },
+ { "$ref": "#/schemas/trace-add-object" }
+ ]
+ },
+ "trace-add-object": {
+ "type": "object",
+ "properties": {
+ "name": { "type": "string", "description": "name of the generated event", "default": "trace" },
+ "tag": { "type": "string", "description": "tag for grouping traces", "default": "trace" },
+ "api": { "type": "string", "description": "api for requests, daemons and services" },
+ "verb": { "type": "string", "description": "verb for requests" },
+ "uuid": { "type": "string", "description": "uuid of session for requests" },
+ "pattern": { "type": "string", "description": "pattern for events" },
+ "request": { "$ref": "#/schemas/trace-add-request" },
+ "daemon": { "$ref": "#/schemas/trace-add-daemon" },
+ "service": { "$ref": "#/schemas/trace-add-service" },
+ "event": { "$ref": "#/schemas/trace-add-event" },
+ "session": { "$ref": "#/schemas/trace-add-session" },
+ "for": { "$ref": "#/schemas/trace-add" }
+ },
+ "examples": [
+ { "tag": "1", "for": [ "common", { "api": "xxx", "request": "*", "daemon": "*", "service": "*" } ] }
+ ]
+ },
+ "trace-add-request": {
+ "anyOf": [
+ { "type": "array", "items": { "$ref": "#/schemas/trace-request-names" } },
+ { "$ref": "#/schemas/trace-request-names" }
+ ]
+ },
+ "trace-request-names": {
+ "title": "name of traceable items of requests",
+ "enum": [
+ "*",
+ "addref",
+ "all",
+ "args",
+ "begin",
+ "common",
+ "context",
+ "context_get",
+ "context_set",
+ "end",
+ "event",
+ "extra",
+ "get",
+ "json",
+ "life",
+ "ref",
+ "reply",
+ "result",
+ "session",
+ "session_close",
+ "session_set_LOA",
+ "simple",
+ "store",
+ "stores",
+ "subcall",
+ "subcall_result",
+ "subcalls",
+ "subcallsync",
+ "subcallsync_result",
+ "subscribe",
+ "unref",
+ "unstore",
+ "unsubscribe",
+ "vverbose"
+ ]
+ },
+ "trace-add-daemon": {
+ "anyOf": [
+ { "type": "array", "items": { "$ref": "#/schemas/trace-daemon-names" } },
+ { "$ref": "#/schemas/trace-daemon-names" }
+ ]
+ },
+ "trace-daemon-names": {
+ "title": "name of traceable items of daemons",
+ "enum": [
+ "*",
+ "all",
+ "common",
+ "event_broadcast_after",
+ "event_broadcast_before",
+ "event_make",
+ "extra",
+ "get_event_loop",
+ "get_system_bus",
+ "get_user_bus",
+ "queue_job",
+ "require_api",
+ "require_api_result",
+ "rootdir_get_fd",
+ "rootdir_open_locale",
+ "unstore_req",
+ "vverbose"
+ ]
+ },
+ "trace-add-service": {
+ "anyOf": [
+ { "type": "array", "items": { "$ref": "#/schemas/trace-service-names" } },
+ { "$ref": "#/schemas/trace-service-names" }
+ ]
+ },
+ "trace-service-names": {
+ "title": "name of traceable items of services",
+ "enum": [
+ "*",
+ "all",
+ "call",
+ "call_result",
+ "callsync",
+ "callsync_result",
+ "on_event_after",
+ "on_event_before",
+ "start_after",
+ "start_before"
+ ]
+ },
+ "trace-add-event": {
+ "anyOf": [
+ { "type": "array", "items": { "$ref": "#/schemas/trace-event-names" } },
+ { "$ref": "#/schemas/trace-event-names" }
+ ]
+ },
+ "trace-event-names": {
+ "title": "name of traceable items of events",
+ "enum": [
+ "*",
+ "all",
+ "broadcast_after",
+ "broadcast_before",
+ "common",
+ "create",
+ "drop",
+ "extra",
+ "name",
+ "push_after",
+ "push_before"
+ ]
+ },
+ "trace-add-session": {
+ "anyOf": [
+ { "type": "array", "items": { "$ref": "#/schemas/trace-session-names" } },
+ { "$ref": "#/schemas/trace-session-names" }
+ ]
+ },
+ "trace-session-names": {
+ "title": "name of traceable items for sessions",
+ "enum": [
+ "*",
+ "addref",
+ "all",
+ "close",
+ "common",
+ "create",
+ "destroy",
+ "renew",
+ "unref"
+ ]
+ },
+ "trace-drop": {
+ "anyOf": [
+ { "type": "boolean" },
+ {
+ "type": "object",
+ "properties": {
+ "event": { "anyOf": [ { "type": "string" }, { "type": "array", "items": "string" } ] },
+ "tag": { "anyOf": [ { "type": "string" }, { "type": "array", "items": "string" } ] },
+ "uuid": { "anyOf": [ { "type": "string" }, { "type": "array", "items": "string" } ] }
+ }
+ }
+ ]
+ },
+ "session-request": {
+ "type": "object",
+ "properties": {
+ "refresh-token": { "type": "boolean" }
+ }
+ }
+ }
+}