Added more json schema spec files

This commit is contained in:
Jan Eitzinger 2019-09-06 16:16:32 +02:00
parent 2eed27dd80
commit ed59fa924a
3 changed files with 249 additions and 36 deletions

View File

@ -0,0 +1,132 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric.schema.json",
"title": "Job metric data",
"description": "Meta data information of a HPC job",
"type": "object",
"properties": {
"mem_used": {
"description": "Memory capacity used (required)",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"flops_any": {
"description": "Total flop rate with DP flops scaled up (required)",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"mem_bw": {
"description": "Main memory bandwidth (required)",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"net_bw": {
"description": "Total fast interconnect network bandwidth (required)",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"file_bw": {
"description": "Total file IO bandwidth (required)",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"ipc": {
"description": "Instructions executed per cycle",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"cpu_used": {
"description": "CPU core utilization",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"flops_dp": {
"description": "Double precision flop rate",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"flops_sp": {
"description": "Single precision flops rate",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"rapl_power": {
"description": "CPU power consumption",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"gpu_used": {
"description": "GPU utilization",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"gpu_mem_used": {
"description": "GPU memory capacity used",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"gpu_power": {
"description": "GPU power consumption",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"clock": {
"description": "Average core frequency",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"eth_read_bw": {
"description": "Ethernet read bandwidth",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"eth_write_bw": {
"description": "Ethernet write bandwidth",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"lustre_read_bw": {
"description": "Lustre read bandwidth",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"lustre_write_bw": {
"description": "Lustre write bandwidth",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"lustre_read_req": {
"description": "Lustre read requests",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"lustre_write_req": {
"description": "Lustre write requests",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"lustre_inodes": {
"description": "Lustre inodes used",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"lustre_accesses": {
"description": "Lustre open and close",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"lustre_fsync": {
"description": "Lustre fsync",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"lustre_create": {
"description": "Lustre create",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"lustre_open": {
"description": "Lustre open",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"lustre_close": {
"description": "Lustre close",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"lustre_seek": {
"description": "Lustre seek",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"ib_read_bw": {
"description": "Infiniband read bandwidth",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"ib_write_bw": {
"description": "Infiniband write bandwidth",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
},
"ib_congestion": {
"description": "Infiniband congestion",
"#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric-data.schema.json"
}
},
"required": [ "mem_used", "flops_any", "mem_bw", "net_bw", "file_bw" ]
}
}

View File

@ -1,6 +1,6 @@
{ {
"$schema": "http://json-schema.org/draft-07/schema#", "$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://example.com/job-meta.schema.json", "$id": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-meta.schema.json",
"title": "Job meta data", "title": "Job meta data",
"description": "Meta data information of a HPC job", "description": "Meta data information of a HPC job",
"type": "object", "type": "object",
@ -18,24 +18,38 @@
"type": "string" "type": "string"
}, },
"cluster_id": { "cluster_id": {
"description": "", "description": "The unique identifier of a cluster",
"type": "string" "type": "string"
}, },
"num_nodes": { "num_nodes": {
"description": "Number of nodes used", "description": "Number of nodes used",
"type": "integer" "type": "integer",
"exclusiveMinimum": 0
},
"walltime": {
"description": "Requested walltime of job in seconds",
"type": "integer",
"exclusiveMinimum": 0
},
"job_state": {
"description": "Final state of job",
"type": "string",
"enum": [ "completed", "failed", "canceled", "timeout" ]
}, },
"start_time": { "start_time": {
"description": "Start epoch time stamp in seconds", "description": "Start epoch time stamp in seconds",
"type": "integer" "type": "integer",
"exclusiveMinimum": 0
}, },
"stop_time": { "stop_time": {
"description": "Stop epoch time stamp in seconds", "description": "Stop epoch time stamp in seconds",
"type": "integer" "type": "integer",
"exclusiveMinimum": 0
}, },
"duration": { "duration": {
"description": "Duration of job in seconds", "description": "Duration of job in seconds",
"type": "integer" "type": "integer",
"exclusiveMinimum": 0
}, },
"nodes": { "nodes": {
"description": "List of nodes", "description": "List of nodes",
@ -69,123 +83,123 @@
"properties": { "properties": {
"mem_used": { "mem_used": {
"description": "Memory capacity used (required)", "description": "Memory capacity used (required)",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"flops_any": { "flops_any": {
"description": "Total flop rate with DP flops scaled up (required)", "description": "Total flop rate with DP flops scaled up (required)",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"mem_bw": { "mem_bw": {
"description": "Main memory bandwidth (required)", "description": "Main memory bandwidth (required)",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"net_bw": { "net_bw": {
"description": "Total fast interconnect network bandwidth (required)", "description": "Total fast interconnect network bandwidth (required)",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"file_bw": { "file_bw": {
"description": "Total file IO bandwidth (required)", "description": "Total file IO bandwidth (required)",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"ipc": { "ipc": {
"description": "Instructions executed per cycle", "description": "Instructions executed per cycle",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"cpu_used": { "cpu_used": {
"description": "CPU core utilization", "description": "CPU core utilization",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"flops_dp": { "flops_dp": {
"description": "Double precision flop rate", "description": "Double precision flop rate",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"flops_sp": { "flops_sp": {
"description": "Single precision flops rate", "description": "Single precision flops rate",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"rapl_power": { "rapl_power": {
"description": "CPU power consumption", "description": "CPU power consumption",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"gpu_used": { "gpu_used": {
"description": "GPU utilization", "description": "GPU utilization",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"gpu_mem_used": { "gpu_mem_used": {
"description": "GPU memory capacity used", "description": "GPU memory capacity used",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"gpu_power": { "gpu_power": {
"description": "GPU power consumption", "description": "GPU power consumption",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"clock": { "clock": {
"description": "Average core frequency", "description": "Average core frequency",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"eth_read_bw": { "eth_read_bw": {
"description": "Ethernet read bandwidth", "description": "Ethernet read bandwidth",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"eth_write_bw": { "eth_write_bw": {
"description": "Ethernet write bandwidth", "description": "Ethernet write bandwidth",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"lustre_read_bw": { "lustre_read_bw": {
"description": "Lustre read bandwidth", "description": "Lustre read bandwidth",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"lustre_write_bw": { "lustre_write_bw": {
"description": "Lustre write bandwidth", "description": "Lustre write bandwidth",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"lustre_read_req": { "lustre_read_req": {
"description": "Lustre read requests", "description": "Lustre read requests",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"lustre_write_req": { "lustre_write_req": {
"description": "Lustre write requests", "description": "Lustre write requests",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"lustre_inodes": { "lustre_inodes": {
"description": "Lustre inodes used", "description": "Lustre inodes used",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"lustre_accesses": { "lustre_accesses": {
"description": "Lustre open and close", "description": "Lustre open and close",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"lustre_fsync": { "lustre_fsync": {
"description": "Lustre fsync", "description": "Lustre fsync",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"lustre_create": { "lustre_create": {
"description": "Lustre create", "description": "Lustre create",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"lustre_open": { "lustre_open": {
"description": "Lustre open", "description": "Lustre open",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"lustre_close": { "lustre_close": {
"description": "Lustre close", "description": "Lustre close",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"lustre_seek": { "lustre_seek": {
"description": "Lustre seek", "description": "Lustre seek",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"ib_read_bw": { "ib_read_bw": {
"description": "Infiniband read bandwidth", "description": "Infiniband read bandwidth",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"ib_write_bw": { "ib_write_bw": {
"description": "Infiniband write bandwidth", "description": "Infiniband write bandwidth",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
}, },
"ib_congestion": { "ib_congestion": {
"description": "Infiniband congestion", "description": "Infiniband congestion",
"#ref": "jobs-statistic.schema.json" "#ref": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-statistic.schema.json"
} }
}, },
"required": [ "mem_used", "flops_any", "mem_bw", "net_bw", "file_bw" ] "required": [ "mem_used", "flops_any", "mem_bw", "net_bw", "file_bw" ]

View File

@ -0,0 +1,67 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://github.com/RRZE-HPC/HPCJobDatabase/blob/master/json-schema/job-metric.schema.json",
"title": "Job metric data",
"description": "Metric data of a HPC job",
"type": "object",
"properties": {
"unit": {
"description": "",
"type": "string"
},
"scope": {
"description": "",
"type": "string"
},
"timestep": {
"description": "",
"type": "integer"
},
"series": {
"description": "",
"type": "array",
"items": {
"type": "object",
"properties": {
"node_id": {
"type": "string"
},
"id": {
"type": "integer"
},
"statistic": {
"type": "object",
"properties": {
"avg": {
"description": "Series average",
"type": "number",
"minimum": 0
},
"min": {
"description": "Series minimum",
"type": "number",
"minimum": 0
},
"max": {
"description": "Series maximum",
"type": "number",
"minimum": 0
}
},
"required": [ "avg", "min", "max" ]
},
"data": {
"type": "array",
"items": {
"type": "number",
"minimum": 0
},
"minItems": 1
}
},
"required": [ "node_id", "data" ]
}
}
},
"required": [ "unit", "scope", "timestep", "series" ]
}