|
1 | 1 | #include "varlink-io.systemd.Metrics.h" |
2 | 2 |
|
| 3 | +static SD_VARLINK_DEFINE_STRUCT_TYPE( |
| 4 | + MetricsStruct, |
| 5 | + SD_VARLINK_FIELD_COMMENT("Metric family name"), |
| 6 | + SD_VARLINK_DEFINE_FIELD(name, SD_VARLINK_STRING, 0), |
| 7 | + SD_VARLINK_FIELD_COMMENT("Value of the metric"), |
| 8 | + SD_VARLINK_DEFINE_FIELD(value, SD_VARLINK_INT, 0), |
| 9 | + SD_VARLINK_FIELD_COMMENT("fields"), |
| 10 | + SD_VARLINK_DEFINE_FIELD(fields, SD_VARLINK_STRUCT, SD_VARLINK_NULLABLE)); |
3 | 11 |
|
4 | 12 | static SD_VARLINK_DEFINE_METHOD( |
5 | | - List, |
6 | | - SD_VARLINK_FIELD_COMMENT("Metric name"), |
7 | | - SD_VARLINK_DEFINE_OUTPUT(name, SD_VARLINK_STRING, SD_VARLINK_NULLABLE), |
8 | | - SD_VARLINK_FIELD_COMMENT("Value of the metric"), |
9 | | - SD_VARLINK_DEFINE_OUTPUT(value, SD_VARLINK_INT, 0), |
10 | | - SD_VARLINK_FIELD_COMMENT("fields"), |
11 | | - SD_VARLINK_DEFINE_OUTPUT(fields, SD_VARLINK_STRUCT, SD_VARLINK_NULLABLE)); |
12 | | - |
| 13 | + List, |
| 14 | + SD_VARLINK_DEFINE_OUTPUT_BY_TYPE(metrics, MetricsStruct, 0)); |
13 | 15 |
|
14 | 16 | SD_VARLINK_DEFINE_INTERFACE( |
15 | 17 | io_systemd_Metrics, |
16 | 18 | "io.systemd.Metrics", |
17 | 19 | SD_VARLINK_INTERFACE_COMMENT("Metrics APIs"), |
18 | 20 | SD_VARLINK_SYMBOL_COMMENT( |
19 | | - "Return key -> value dictionary of relevant metrics, optionally filtered by object."), |
20 | | - &vl_method_List); |
21 | | - |
| 21 | + "APIs for getting relevant metrics, optionally filtered by object."), |
| 22 | + &vl_method_List, |
| 23 | + SD_VARLINK_SYMBOL_COMMENT("The metrics object"), |
| 24 | + &vl_type_MetricsStruct); |
0 commit comments