1{
2  "type": "object",
3  "required": ["duration_s", "failures"],
4  "properties": {
5    "duration_s": { "type": "number", "description": "The time it took to collect topology data" },
6    "failures": { "type": "array", "description": "The information about failed queries" },
7    "application_requests_per_hour": { "type": "number", "description": "The number of requests to the web application per hour" },
8    "nodes": {
9      "type": "array",
10      "items": {
11        "type": "object",
12        "properties": {
13          "node_cpus":               { "type": "number", "description": "The number of CPU cores of this node" },
14          "node_cpu_utilization":    { "type": "number", "description": "The CPU utilization ratio of this node" },
15          "node_memory_total_bytes": { "type": "number", "description": "The total available memory of this node" },
16          "node_memory_utilization": { "type": "number", "description": "The memory utilization ratio of this node" },
17          "node_services": {
18            "type": "array",
19            "items": {
20              "type": "object",
21              "properties": {
22                "name":               { "type": "string", "description": "The name of the GitLab service running on this node" },
23                "server":             { "type": "string", "description": "The type of web server used (Puma only from 14.0)" },
24                "process_count":      { "type": "number", "description": "The number of processes running for this service" },
25                "process_memory_rss": { "type": "number", "description": "The average Resident Set Size of a service process" },
26                "process_memory_uss": { "type": "number", "description": "The average Unique Set Size of a service process" },
27                "process_memory_pss": { "type": "number", "description": "The average Proportional Set Size of a service proces" }
28              }
29            }
30          },
31          "node_uname_info": {
32            "type": "object",
33            "properties": {
34              "machine": { "type": "string", "description": "The machine hardware name of this node" },
35              "release": { "type": "string", "description": "The operating system release of this node" },
36              "sysname": { "type": "string", "description": "The operating system name of this node" }
37            }
38          }
39        }
40      }
41    }
42  }
43}
44