mirror of
https://github.com/ClusterCockpit/cc-specifications.git
synced 2024-12-26 13:29:05 +01:00
.. | ||
README.md |
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 measurementfile_bw
device
fornet_bw
if splitting intoib_bw
andeth_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
)