Dashboard: diff histogram totals per node #73

Merged
jcoffey-dev merged 1 commits from fix/histogram-deltas-per-node into main 2026-09-30 18:56:39 +00:00
Owner

Each node stores its histograms as running totals since it started. deltaHistograms lined up every node's samples by time and diffed them in one list, so in a cluster it subtracted one node's total from another's. Every timing on the dashboard (ingest, index, DNS, delivery, store read/write) came out wrong.

On production, the command center showed 1 stage running slow: delivery attempt time read 14.7 s over the last hour when the nodes' own figures give 0.7 s (6 h: 8.5 s vs 1.0 s; 24 h: 13.3 s vs 5.8 s). These were recomputed from the stored x samples.

  • Samples now carry nodeId (inbuxa-server PR, x:Metric), and totals are diffed per metric and node.
  • Without nodeId (older servers, single node), it behaves as before.
  • helpers.test.ts: per-node diffs with interleaved nodes, a restart, and pass-through for counters/gauges.

No new strings.

Needs the server change released and rolled out before it has any effect on production.

Each node stores its histograms as running totals since it started. `deltaHistograms` lined up every node's samples by time and diffed them in one list, so in a cluster it subtracted one node's total from another's. Every timing on the dashboard (ingest, index, DNS, delivery, store read/write) came out wrong. On production, the command center showed **1 stage running slow**: delivery attempt time read 14.7 s over the last hour when the nodes' own figures give 0.7 s (6 h: 8.5 s vs 1.0 s; 24 h: 13.3 s vs 5.8 s). These were recomputed from the stored `x` samples. - Samples now carry `nodeId` (inbuxa-server PR, `x:Metric`), and totals are diffed per metric and node. - Without `nodeId` (older servers, single node), it behaves as before. - `helpers.test.ts`: per-node diffs with interleaved nodes, a restart, and pass-through for counters/gauges. No new strings. Needs the server change released and rolled out before it has any effect on production.
jcoffey-dev added 1 commit 2026-09-30 18:41:20 +00:00
Dashboard: diff histogram totals per node
ci / build (pull_request) Skipped
ci / publish (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 1m23s
acbf6f7fec
Each node stores its histograms as running totals since it started.
deltaHistograms lined up every node's samples by time and diffed them in
one list, so in a cluster it subtracted one node's total from another's.
The timing averages came out wrong: on production the delivery attempt
time read 14.7 s over the last hour ("1 stage running slow") when the
nodes' own figures give 0.7 s.

Samples now carry nodeId (inbuxa-server, x:Metric), and totals are diffed
per metric and node. Without nodeId (older servers, single node) it works
as before.
jcoffey-dev merged commit cd9c0c82d5 into main 2026-09-30 18:56:39 +00:00
jcoffey-dev deleted branch fix/histogram-deltas-per-node 2026-09-30 18:56:39 +00:00
Sign in to join this conversation.