mirror of
https://github.com/ClusterCockpit/cc-specifications.git
synced 2024-11-10 09:47:26 +01:00
Propose other specification for line protocol usage
This commit is contained in:
parent
99f91988ae
commit
faf07815c5
55
metrics/lineprotocol_alternative.md
Normal file
55
metrics/lineprotocol_alternative.md
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
# Overview
|
||||||
|
|
||||||
|
ClusterCockpit uses the InfluxData line-protocol for collecting the node metric
|
||||||
|
data.
|
||||||
|
|
||||||
|
```
|
||||||
|
<measurement>,<tag set> <field set> <timestamp [s]>
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note**: This is a proposal for a different way to send & store the data!
|
||||||
|
|
||||||
|
# Supported measurements:
|
||||||
|
* `flops_sp`
|
||||||
|
* `flops_dp`
|
||||||
|
* `flops_any`
|
||||||
|
* `load`
|
||||||
|
* `mem_used`
|
||||||
|
* `ipc`
|
||||||
|
* `mem_bw`
|
||||||
|
* `power`
|
||||||
|
* `clock`
|
||||||
|
* ...
|
||||||
|
|
||||||
|
# Mandatory tags per measurement:
|
||||||
|
* `hostname`
|
||||||
|
* `type` in `[node, socket, cpu, (accelerator)]`
|
||||||
|
* `type-id` for further specifying the type like CPU socket or HW Thread identifier
|
||||||
|
|
||||||
|
# Optional tags depending on the measurment:
|
||||||
|
* `device` for measurement `file_bw`
|
||||||
|
* `device` for `net_bw` if splitting into `ib_bw` and `eth_bw` is not enough
|
||||||
|
|
||||||
|
# Fields per measurement:
|
||||||
|
The field key is always `value`
|
||||||
|
|
||||||
|
# Optional measurements:
|
||||||
|
If a fixed aggregation to a coarser granularity is desired, add addtional measurments to the same measurement with different tags:
|
||||||
|
```
|
||||||
|
mem_bw,hostname=X,type="socket",type-id=0 value=100.0
|
||||||
|
mem_bw,hostname=X,type="socket",type-id=1 value=200.0
|
||||||
|
```
|
||||||
|
|
||||||
|
can additionally be send/stored as:
|
||||||
|
|
||||||
|
```
|
||||||
|
mem_bw,hostname=X,type="node",type-id=0 value=300.0
|
||||||
|
```
|
||||||
|
|
||||||
|
It is discussable where the type of aggregation should be encoded if required, either by adding a tag like `agg={min,max,sum,avg}` or using different fields like:
|
||||||
|
|
||||||
|
```
|
||||||
|
mem_bw,hostname=X,type="node",type-id=0 sum=300.0,min=100.0,max=200.0,avg=150.0
|
||||||
|
```
|
||||||
|
|
||||||
|
I prefer the separate `agg` tag because commonly, only a single type of aggregation is done per measurment (mostly `sum` but some require `avg` like `ipc`)
|
Loading…
Reference in New Issue
Block a user