Restructure specs.

Add line protocol description with supported metrics.
Adapt sqlite job schema.
This commit is contained in:
Jan Eitzinger 2021-02-17 14:13:50 +01:00
parent ce8ae9ff38
commit aa5a3daff3
8 changed files with 37 additions and 2 deletions

35
metrics/lineprotocol.md Normal file
View File

@ -0,0 +1,35 @@
# Overview
ClusterCockpit uses the InfluxData line-protocol for collecting the node metric
data.
```
<measurement>,<tag set> <field set> <timestamp [s]>
```
Supported measurements:
* node Tags: host, cpu
* socket Tags: host, socket
* cpu -- Tags: host, cpu
## Supported node level fields
* `load`
* `mem_used`
* `net_bw` - split into `ib_bw` and `eth_bw` if required
* `file_bw` - split into multiple file systems if required
## Supported socket fields
All socket metrics can be aggregated to coarser granularity.
* `power`
* `mem_bw`
## Supported cpu level fields
All cpu metrics can be aggregated to coarser granularity.
* `ipc`
* `flops_any`
* `clock`

View File

@ -1,9 +1,9 @@
CREATE TABLE job ( id INTEGER PRIMARY KEY,
job_id TEXT, user_id TEXT, project_id TEXT, cluster_id TEXT,
start_time INTEGER, stop_time INTEGER, duration INTEGER,
start_time INTEGER, duration INTEGER,
walltime INTEGER, job_state TEXT,
num_nodes INTEGER, node_list TEXT, has_profile INTEGER,
mem_used_max REAL, flops_any_avg REAL, mem_bw_avg REAL, ib_bw_avg REAL, file_bw_avg REAL);
mem_used_max REAL, flops_any_avg REAL, mem_bw_avg REAL, net_bw_avg REAL, file_bw_avg REAL);
CREATE TABLE tag ( id INTEGER PRIMARY KEY, tag_type TEXT, tag_name TEXT);
CREATE TABLE jobtag ( job_id INTEGER, tag_id INTEGER, PRIMARY KEY (job_id, tag_id),
FOREIGN KEY (job_id) REFERENCES job (id) ON DELETE CASCADE ON UPDATE NO ACTION,