Skip to content

fix: stabilize net_route_interface_labels series across polls - #4485

Merged
cgrinds merged 1 commit into
mainfrom
cbg-net-route
Sep 28, 2026
Merged

cgrinds merged 1 commit into
mainfrom
cbg-net-route

Conversation

@cgrinds

@cgrinds cgrinds commented Sep 25, 2026

Copy link
Copy Markdown
Collaborator

The NetRoute plugin keyed each interface instance with a counter that incremented while ranging over a map, so the exported index label changed every poll. On one cluster, 5,515 of 5,547 series had a different index between two pollers scraped at the same time. Every poll created new Prometheus series, causing cardinality churn and breaking continuity.

Key instances by route uuid and interface name instead, and stop exporting index. It was never used by a dashboard, and route_uuid plus the interface labels already make each series unique. uuid and route_uuid are unchanged.

A duplicate interface name within a route is now logged and skipped instead of failing the whole poll.

The NetRoute plugin keyed each interface instance with a counter that
incremented while ranging over a map, so the exported index label
changed every poll. On one cluster, 5,515 of 5,547 series had a
different index between two pollers scraped at the same time. Every
poll created new Prometheus series, causing cardinality churn and
breaking continuity.

Key instances by route uuid and interface name instead, and stop
exporting index. It was never used by a dashboard, and route_uuid plus
the interface labels already make each series unique. uuid and
route_uuid are unchanged.

A duplicate interface name within a route is now logged and skipped
instead of failing the whole poll.
@cgrinds
cgrinds merged commit 8c6752d into main Sep 28, 2026
13 checks passed
@cgrinds
cgrinds deleted the cbg-net-route branch September 28, 2026 11:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants