network-interfaces function: add UsedBy field to (#16337)
* add UsedBy field to network-interfaces function * fix traffic units
Ilya Mashchenko committed
Nov 6, 2023 at 10:38 UTC
ce7f640297b110e8594384606ef0d6bb3cb4bc07
1 file changed
+22
-3
collectors/proc.plugin/proc_net_dev.c
+22
-3
@@ -650,6 +650,7 @@ int netdev_function_net_interfaces(BUFFER *wb, int timeout __maybe_unused, const
650
buffer_json_add_array_item_string(wb, d->name);
651
652
buffer_json_add_array_item_string(wb, d->virtual ? "virtual" : "physical");
653
+ buffer_json_add_array_item_string(wb, d->flipped ? "cgroup" : "host");
654
buffer_json_add_array_item_string(wb, d->carrier == 1 ? "up" : "down");
655
buffer_json_add_array_item_string(wb, get_operstate_string(d->operstate));
656
buffer_json_add_array_item_string(wb, get_duplex_string(d->duplex));
@@ -752,6 +753,13 @@ int netdev_function_net_interfaces(BUFFER *wb, int timeout __maybe_unused, const
753
RRDF_FIELD_OPTS_VISIBLE | RRDF_FIELD_OPTS_UNIQUE_KEY,
754
NULL);
755
756
+ buffer_rrdf_table_add_field(wb, field_id++, "UsedBy", "Indicates whether the network interface is used by a cgroup or by the host system",
757
+ RRDF_FIELD_TYPE_STRING, RRDF_FIELD_VISUAL_VALUE, RRDF_FIELD_TRANSFORM_NONE,
758
+ 0, NULL, NAN, RRDF_FIELD_SORT_ASCENDING, NULL,
759
+ RRDF_FIELD_SUMMARY_COUNT, RRDF_FIELD_FILTER_MULTISELECT,
760
+ RRDF_FIELD_OPTS_VISIBLE | RRDF_FIELD_OPTS_UNIQUE_KEY,
761
+ NULL);
762
+
763
buffer_rrdf_table_add_field(wb, field_id++, "PhState", "Current Physical State",
764
RRDF_FIELD_TYPE_STRING, RRDF_FIELD_VISUAL_VALUE, RRDF_FIELD_TRANSFORM_NONE,
765
0, NULL, NAN, RRDF_FIELD_SORT_ASCENDING, NULL,
@@ -789,21 +797,21 @@ int netdev_function_net_interfaces(BUFFER *wb, int timeout __maybe_unused, const
797
798
buffer_rrdf_table_add_field(wb, field_id++, "In", "Traffic Received",
799
RRDF_FIELD_TYPE_BAR_WITH_INTEGER, RRDF_FIELD_VISUAL_BAR, RRDF_FIELD_TRANSFORM_NUMBER,
792
- 2, "MiB", max_traffic_rx, RRDF_FIELD_SORT_DESCENDING, NULL,
800
+ 2, "Mbit", max_traffic_rx, RRDF_FIELD_SORT_DESCENDING, NULL,
801
RRDF_FIELD_SUMMARY_SUM, RRDF_FIELD_FILTER_NONE,
802
RRDF_FIELD_OPTS_VISIBLE,
803
NULL);
804
805
buffer_rrdf_table_add_field(wb, field_id++, "Out", "Traffic Sent",
806
RRDF_FIELD_TYPE_BAR_WITH_INTEGER, RRDF_FIELD_VISUAL_BAR, RRDF_FIELD_TRANSFORM_NUMBER,
799
- 2, "MiB", max_traffic_tx, RRDF_FIELD_SORT_DESCENDING, NULL,
807
+ 2, "Mbit", max_traffic_tx, RRDF_FIELD_SORT_DESCENDING, NULL,
808
RRDF_FIELD_SUMMARY_SUM, RRDF_FIELD_FILTER_NONE,
809
RRDF_FIELD_OPTS_VISIBLE,
810
NULL);
811
812
buffer_rrdf_table_add_field(wb, field_id++, "Total", "Traffic Received and Sent",
813
RRDF_FIELD_TYPE_BAR_WITH_INTEGER, RRDF_FIELD_VISUAL_BAR, RRDF_FIELD_TRANSFORM_NUMBER,
806
- 2, "MiB", max_traffic, RRDF_FIELD_SORT_DESCENDING, NULL,
814
+ 2, "Mbit", max_traffic, RRDF_FIELD_SORT_DESCENDING, NULL,
815
RRDF_FIELD_SUMMARY_SUM, RRDF_FIELD_FILTER_NONE,
816
RRDF_FIELD_OPTS_VISIBLE,
817
NULL);
@@ -916,6 +924,17 @@ int netdev_function_net_interfaces(BUFFER *wb, int timeout __maybe_unused, const
924
buffer_json_array_close(wb);
925
}
926
buffer_json_object_close(wb);
927
+
928
+ buffer_json_member_add_object(wb, "UsedBy");
929
+ {
930
+ buffer_json_member_add_string(wb, "name", "UsedBy");
931
+ buffer_json_member_add_array(wb, "columns");
932
+ {
933
+ buffer_json_add_array_item_string(wb, "UsedBy");
934
+ }
935
+ buffer_json_array_close(wb);
936
+ }
937
+ buffer_json_object_close(wb);
938
}
939
buffer_json_object_close(wb); // group_by
940