@cryptotaxi247 / netdata-1 / commits / 3e8ad96b6

Add ACLK buffer usage metrics (#20820)

* Add ACLK buffer usage metrics * Fix typo

Stelios Fragkakis committed Aug 14, 2025 at 16:21 UTC 3e8ad96b672770c863b182f4fc475ff0d77e7b8e
1 file changed +35 -1
src/daemon/pulse/pulse-network.c
+35 -1
@@ -499,7 +499,7 @@ void pulse_network_do(bool extended __maybe_unused) {
499 "milliseconds",
500 "netdata",
501 "pulse",
502 - PULSE_NETWORK_CHART_PRIORITY + 1,
502 + PULSE_NETWORK_CHART_PRIORITY + 4,
503 localhost->rrd_update_every,
504 RRDSET_TYPE_LINE);
505 rd_min = rrddim_add(st_stats, "min", NULL, 1, USEC_PER_MS, RRD_ALGORITHM_ABSOLUTE);
@@ -512,5 +512,39 @@ void pulse_network_do(bool extended __maybe_unused) {
512 rrddim_set_by_pointer(st_stats, rd_max, (collected_number)max_us);
513 rrdset_done(st_stats);
514 }
515 +
516 + if(extended) {
517 + static RRDSET *st_aclk_buffer = NULL;
518 + static RRDDIM *rd_aclk_buffer_used = NULL;
519 + static RRDDIM *rd_aclk_buffer_free = NULL;
520 + static RRDDIM *rd_aclk_buffer_size = NULL;
521 +
522 + if (unlikely(!st_aclk_buffer)) {
523 + st_aclk_buffer = rrdset_create_localhost(
524 + "netdata",
525 + "network_aclk_buffer_usage",
526 + NULL,
527 + PULSE_NETWORK_CHART_FAMILY,
528 + "netdata.network_aclk_buffer_usage",
529 + "Netdata ACLK Buffer Usage",
530 + "bytes",
531 + "netdata",
532 + "pulse",
533 + PULSE_NETWORK_CHART_PRIORITY + 5,
534 + localhost->rrd_update_every,
535 + RRDSET_TYPE_AREA);
536 +
537 + rrdlabels_add(st_aclk_buffer->rrdlabels, "endpoint", "aclk", RRDLABEL_SRC_AUTO);
538 +
539 + rd_aclk_buffer_used = rrddim_add(st_aclk_buffer, "used", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
540 + rd_aclk_buffer_free = rrddim_add(st_aclk_buffer, "free", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
541 + rd_aclk_buffer_size = rrddim_add(st_aclk_buffer, "current limit", NULL, 1, 1, RRD_ALGORITHM_ABSOLUTE);
542 + }
543 +
544 + rrddim_set_by_pointer(st_aclk_buffer, rd_aclk_buffer_used, (collected_number)t.mqtt.tx_buffer_used);
545 + rrddim_set_by_pointer(st_aclk_buffer, rd_aclk_buffer_free, (collected_number)t.mqtt.tx_buffer_free);
546 + rrddim_set_by_pointer(st_aclk_buffer, rd_aclk_buffer_size, (collected_number)t.mqtt.tx_buffer_size);
547 + rrdset_done(st_aclk_buffer);
548 + }
549 }
550 }