Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@

**Merged pull requests:**

- fix\(go.d/ddsnmp\): fix match\_pattern regex behavior in metadata and metric collection [\#20814](https://github.com/netdata/netdata/pull/20814) ([ilyam8](https://github.com/ilyam8))
- improve\(go.d/snmp\): optimize Check\(\) to avoid heavy collection [\#20813](https://github.com/netdata/netdata/pull/20813) ([ilyam8](https://github.com/ilyam8))
- Render latency chart if ACLK online [\#20811](https://github.com/netdata/netdata/pull/20811) ([stelfrag](https://github.com/stelfrag))
- Monitor memory reclamation and buffer compact [\#20810](https://github.com/netdata/netdata/pull/20810) ([stelfrag](https://github.com/stelfrag))
- Clear packet id when processed from PUBACK [\#20808](https://github.com/netdata/netdata/pull/20808) ([stelfrag](https://github.com/stelfrag))
- improve\(go.d/zfspool\): add Ubuntu zpool binary path to config [\#20806](https://github.com/netdata/netdata/pull/20806) ([ilyam8](https://github.com/ilyam8))
- feat\(go.d/snmp\): add SNMP sysObjectID mappings for device identification [\#20805](https://github.com/netdata/netdata/pull/20805) ([ilyam8](https://github.com/ilyam8))
Expand All @@ -18,6 +22,7 @@
- build\(deps\): bump golang.org/x/net from 0.42.0 to 0.43.0 in /src/go [\#20796](https://github.com/netdata/netdata/pull/20796) ([dependabot[bot]](https://github.com/apps/dependabot))
- build\(deps\): bump github.com/redis/go-redis/v9 from 9.11.0 to 9.12.0 in /src/go [\#20794](https://github.com/netdata/netdata/pull/20794) ([dependabot[bot]](https://github.com/apps/dependabot))
- ci: handle boolean values in EOL API responses for newly released distros [\#20792](https://github.com/netdata/netdata/pull/20792) ([ilyam8](https://github.com/ilyam8))
- Add more MSSQL metrics \(windows.plugin\) [\#20788](https://github.com/netdata/netdata/pull/20788) ([thiagoftsm](https://github.com/thiagoftsm))
- feat\(go.d/ddsnmp\): add MultiValue for state metrics and aggregation [\#20787](https://github.com/netdata/netdata/pull/20787) ([ilyam8](https://github.com/ilyam8))
- feat\(go.d/ddsnmp\): add metric aggregation support for SNMP profiles [\#20786](https://github.com/netdata/netdata/pull/20786) ([ilyam8](https://github.com/ilyam8))
- fix\(go.d/ddsnmp\): respect metric tag order from profile definition [\#20784](https://github.com/netdata/netdata/pull/20784) ([ilyam8](https://github.com/ilyam8))
Expand Down Expand Up @@ -445,9 +450,6 @@
- docs: update mssql meta [\#20278](https://github.com/netdata/netdata/pull/20278) ([ilyam8](https://github.com/ilyam8))
- New Windows Metrics \(CPU and Memory\) [\#20277](https://github.com/netdata/netdata/pull/20277) ([thiagoftsm](https://github.com/thiagoftsm))
- chore\(go.d/snmp\): small cleanup snmp profiles code [\#20274](https://github.com/netdata/netdata/pull/20274) ([ilyam8](https://github.com/ilyam8))
- Switch to poll from epoll [\#20273](https://github.com/netdata/netdata/pull/20273) ([stelfrag](https://github.com/stelfrag))
- comment metric tags that could be metrics [\#20272](https://github.com/netdata/netdata/pull/20272) ([Ancairon](https://github.com/Ancairon))
- build\(deps\): bump golang.org/x/net from 0.39.0 to 0.40.0 in /src/go [\#20270](https://github.com/netdata/netdata/pull/20270) ([dependabot[bot]](https://github.com/apps/dependabot))

## [v2.5.4](https://github.com/netdata/netdata/tree/v2.5.4) (2025-06-24)

Expand Down
2 changes: 1 addition & 1 deletion packaging/version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v2.6.0-116-nightly
v2.6.0-122-nightly
74 changes: 37 additions & 37 deletions src/daemon/pulse/pulse-network.c
Original file line number Diff line number Diff line change
Expand Up @@ -473,44 +473,44 @@ void pulse_network_do(bool extended __maybe_unused) {
rrddim_set_by_pointer(st_aclk_send_wait, rd_partial, (collected_number)t.mqtt.max_partial_wait_us);
rrdset_done(st_aclk_send_wait);
}
}

// Publish PUBACK latency min/avg/max per iteration
{
static RRDSET *st_stats = NULL;
static RRDDIM *rd_min = NULL, *rd_avg = NULL, *rd_max = NULL;

// pull and reset accumulators
uint64_t count = __atomic_exchange_n(&aclk_ack_count, 0, __ATOMIC_RELAXED);
uint64_t sum_us = __atomic_exchange_n(&aclk_ack_sum_us, 0, __ATOMIC_RELAXED);
uint64_t min_us = __atomic_exchange_n(&aclk_ack_min_us, UINT64_MAX, __ATOMIC_RELAXED);
uint64_t max_us = __atomic_exchange_n(&aclk_ack_max_us, 0, __ATOMIC_RELAXED);

uint64_t avg_us = (count ? (sum_us / count) : 0);
if (min_us == UINT64_MAX) min_us = 0;

if (unlikely(!st_stats)) {
st_stats = rrdset_create_localhost(
"netdata",
"aclk_puback_latency_stats",
NULL,
PULSE_NETWORK_CHART_FAMILY,
"netdata.aclk_puback_latency_stats",
"Netdata ACLK PubACK Latency (Min/Avg/Max)",
"milliseconds",
"netdata",
"pulse",
PULSE_NETWORK_CHART_PRIORITY + 1,
localhost->rrd_update_every,
RRDSET_TYPE_LINE);
rd_min = rrddim_add(st_stats, "min", NULL, 1, USEC_PER_MS, RRD_ALGORITHM_ABSOLUTE);
rd_avg = rrddim_add(st_stats, "avg", NULL, 1, USEC_PER_MS, RRD_ALGORITHM_ABSOLUTE);
rd_max = rrddim_add(st_stats, "max", NULL, 1, USEC_PER_MS, RRD_ALGORITHM_ABSOLUTE);
}
// Publish PUBACK latency min/avg/max per iteration
{
static RRDSET *st_stats = NULL;
static RRDDIM *rd_min = NULL, *rd_avg = NULL, *rd_max = NULL;

// pull and reset accumulators
uint64_t count = __atomic_exchange_n(&aclk_ack_count, 0, __ATOMIC_RELAXED);
uint64_t sum_us = __atomic_exchange_n(&aclk_ack_sum_us, 0, __ATOMIC_RELAXED);
uint64_t min_us = __atomic_exchange_n(&aclk_ack_min_us, UINT64_MAX, __ATOMIC_RELAXED);
uint64_t max_us = __atomic_exchange_n(&aclk_ack_max_us, 0, __ATOMIC_RELAXED);

uint64_t avg_us = (count ? (sum_us / count) : 0);
if (min_us == UINT64_MAX) min_us = 0;

if (unlikely(!st_stats)) {
st_stats = rrdset_create_localhost(
"netdata",
"aclk_puback_latency_stats",
NULL,
PULSE_NETWORK_CHART_FAMILY,
"netdata.aclk_puback_latency_stats",
"Netdata ACLK PubACK Latency (Min/Avg/Max)",
"milliseconds",
"netdata",
"pulse",
PULSE_NETWORK_CHART_PRIORITY + 1,
localhost->rrd_update_every,
RRDSET_TYPE_LINE);
rd_min = rrddim_add(st_stats, "min", NULL, 1, USEC_PER_MS, RRD_ALGORITHM_ABSOLUTE);
rd_avg = rrddim_add(st_stats, "avg", NULL, 1, USEC_PER_MS, RRD_ALGORITHM_ABSOLUTE);
rd_max = rrddim_add(st_stats, "max", NULL, 1, USEC_PER_MS, RRD_ALGORITHM_ABSOLUTE);
}

rrddim_set_by_pointer(st_stats, rd_min, (collected_number)min_us);
rrddim_set_by_pointer(st_stats, rd_avg, (collected_number)avg_us);
rrddim_set_by_pointer(st_stats, rd_max, (collected_number)max_us);
rrdset_done(st_stats);
rrddim_set_by_pointer(st_stats, rd_min, (collected_number)min_us);
rrddim_set_by_pointer(st_stats, rd_avg, (collected_number)avg_us);
rrddim_set_by_pointer(st_stats, rd_max, (collected_number)max_us);
rrdset_done(st_stats);
}
}
}