* report:
- should the list of metrics use JSON-SEQ? or maybe be wrapped in a json
array (the latter might be necessary, once we sign the combination)
- - "io.systemd.Manager.unit_active_state" is a weird mix of CamelCase and snake_case
- metrics from pid1: suppress metrics form units that are inactive and have nothing to report
- how to plug facts into this? i.e. hostname, ssh keys, and so on
- switch to daan's suggested hierarchy?
}
const MetricFamily metric_family_table[] = {
- // Keep metrics ordered alphabetically
+ /* Keep metrics ordered alphabetically */
{
- .name = METRIC_IO_SYSTEMD_MANAGER_PREFIX "nrestarts",
+ .name = METRIC_IO_SYSTEMD_MANAGER_PREFIX "nRestarts",
.description = "Per unit metric: number of restarts",
.type = METRIC_FAMILY_TYPE_COUNTER,
.generate = nrestarts_build_json,
},
{
- .name = METRIC_IO_SYSTEMD_MANAGER_PREFIX "unit_active_state",
+ .name = METRIC_IO_SYSTEMD_MANAGER_PREFIX "unitActiveState",
.description = "Per unit metric: active state",
.type = METRIC_FAMILY_TYPE_STRING,
.generate = unit_active_state_build_json,
},
{
- .name = METRIC_IO_SYSTEMD_MANAGER_PREFIX "unit_load_state",
+ .name = METRIC_IO_SYSTEMD_MANAGER_PREFIX "unitLoadState",
.description = "Per unit metric: load state",
.type = METRIC_FAMILY_TYPE_STRING,
.generate = unit_load_state_build_json,
},
{
- .name = METRIC_IO_SYSTEMD_MANAGER_PREFIX "units_by_state_total",
+ .name = METRIC_IO_SYSTEMD_MANAGER_PREFIX "unitsByStateTotal",
.description = "Total number of units of different state",
.type = METRIC_FAMILY_TYPE_GAUGE,
.generate = units_by_state_total_build_json,
},
{
- .name = METRIC_IO_SYSTEMD_MANAGER_PREFIX "units_by_type_total",
+ .name = METRIC_IO_SYSTEMD_MANAGER_PREFIX "unitsByTypeTotal",
.description = "Total number of units of different types",
.type = METRIC_FAMILY_TYPE_GAUGE,
.generate = units_by_type_total_build_json,
static SD_VARLINK_DEFINE_METHOD_FULL(
List,
SD_VARLINK_REQUIRES_MORE,
- SD_VARLINK_FIELD_COMMENT("Metric name, e.g. io.systemd.Manager.units_by_type_total or io.systemd.Manager.unit_active_state"),
+ SD_VARLINK_FIELD_COMMENT("Metric name, e.g. io.systemd.Manager.unitsByTypeTotal or io.systemd.Manager.unitActiveState"),
SD_VARLINK_DEFINE_OUTPUT(name, SD_VARLINK_STRING, 0),
/* metric value has various types depending on MetricFamilyType and actual data double/int/uint */
SD_VARLINK_FIELD_COMMENT("Metric value"),