Skip to content

tpd: apply a telemetry shard once, pace uptime heartbeats - #5268

Merged
0pcom merged 1 commit into
skycoin:developfrom
0magnet:fix/tpd-skip-unchanged-telemetry
Sep 29, 2026
Merged

0pcom merged 1 commit into
skycoin:developfrom
0magnet:fix/tpd-skip-unchanged-telemetry

Conversation

@0pcom

@0pcom 0pcom commented Sep 29, 2026

Copy link
Copy Markdown
Collaborator

A visor re-Puts a telemetry shard only when its content changes, but every Root (the 45 s heartbeat included) carries every shard, and TPD applied every shard of every Root: with both edges of ~90k transports reporting, ~4k applies/s (bandwidth script + latency script + throughput write + uptime heartbeat each), rewriting what redis already held — the bulk of prod redis load (EVALSHA 82k, HINCRBY 362k, EXPIRE 520k per 30 s).

An unchanged shard (content hash, recorded only after a full apply) is applied once. The Root still proves its transports are up, so they get their uptime heartbeat — at most one per 90 s per transport (the cadence the uptime denominator assumes), whichever edge reports, dated now. Counting every ingest inflated a live transport's count 2–4× (clamped at 100%) and dated its timeline slot to its last change.

A visor re-Puts a telemetry shard only when its content changes, but
every Root — the 45 s heartbeat included — carries every shard, and TPD
applied every shard of every Root: with both edges of ~90k transports
reporting, ~4k applies a second (a bandwidth script, a latency script, a
throughput write and an uptime heartbeat each), rewriting what redis
already held. That was the bulk of prod redis's load.

An unchanged shard (by content hash, recorded only once applied in full)
is applied once. The Root still proves its transports are up, so they get
their uptime heartbeat — at most one per 90 s per transport, the cadence
the uptime denominator assumes, whichever edge reports and dated now.
Counting every ingest inflated a live transport's count two to four times
over and dated its timeline slot to its last change.
@0pcom
0pcom merged commit df71e88 into skycoin:develop Sep 29, 2026
15 of 16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant