From aa5a3daff3647a49d0f3c6722a3ef2c60403cee4 Mon Sep 17 00:00:00 2001 From: Jan Eitzinger Date: Wed, 17 Feb 2021 14:13:50 +0100 Subject: [PATCH] Restructure specs. Add line protocol description with supported metrics. Adapt sqlite job schema. --- metrics/lineprotocol.md | 35 +++++++++++++++++++ .../json/cluster.schema.json | 0 .../json/job-data.schema.json | 0 .../json/job-meta.schema.json | 0 .../json/job-metric-data.schema.json | 0 .../json/job-statistic.schema.json | 0 {dataformat => schema}/json/unit.schema.json | 0 schema/sql/jobs-sqlite.sql | 4 +-- 8 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 metrics/lineprotocol.md rename {dataformat => schema}/json/cluster.schema.json (100%) rename {dataformat => schema}/json/job-data.schema.json (100%) rename {dataformat => schema}/json/job-meta.schema.json (100%) rename {dataformat => schema}/json/job-metric-data.schema.json (100%) rename {dataformat => schema}/json/job-statistic.schema.json (100%) rename {dataformat => schema}/json/unit.schema.json (100%) diff --git a/metrics/lineprotocol.md b/metrics/lineprotocol.md new file mode 100644 index 0000000..07f08d8 --- /dev/null +++ b/metrics/lineprotocol.md @@ -0,0 +1,35 @@ +# Overview + +ClusterCockpit uses the InfluxData line-protocol for collecting the node metric +data. + +``` +, +``` + +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` diff --git a/dataformat/json/cluster.schema.json b/schema/json/cluster.schema.json similarity index 100% rename from dataformat/json/cluster.schema.json rename to schema/json/cluster.schema.json diff --git a/dataformat/json/job-data.schema.json b/schema/json/job-data.schema.json similarity index 100% rename from dataformat/json/job-data.schema.json rename to schema/json/job-data.schema.json diff --git a/dataformat/json/job-meta.schema.json b/schema/json/job-meta.schema.json similarity index 100% rename from dataformat/json/job-meta.schema.json rename to schema/json/job-meta.schema.json diff --git a/dataformat/json/job-metric-data.schema.json b/schema/json/job-metric-data.schema.json similarity index 100% rename from dataformat/json/job-metric-data.schema.json rename to schema/json/job-metric-data.schema.json diff --git a/dataformat/json/job-statistic.schema.json b/schema/json/job-statistic.schema.json similarity index 100% rename from dataformat/json/job-statistic.schema.json rename to schema/json/job-statistic.schema.json diff --git a/dataformat/json/unit.schema.json b/schema/json/unit.schema.json similarity index 100% rename from dataformat/json/unit.schema.json rename to schema/json/unit.schema.json diff --git a/schema/sql/jobs-sqlite.sql b/schema/sql/jobs-sqlite.sql index c9727c8..60da539 100644 --- a/schema/sql/jobs-sqlite.sql +++ b/schema/sql/jobs-sqlite.sql @@ -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,