perf(net): reduce node status collection allocations - #743
Merged
Patrick W. Healy (phealy) merged 1 commit intoSep 18, 2026
Merged
Patrick W. Healy (phealy) merged 1 commit into
Patrick W. Healy (phealy) merged 1 commit into
Conversation
This was referenced Sep 16, 2026
Patrick W. Healy (phealy)
added this pull request to stack #730
September 16, 2026 20:13
Patrick W. Healy (phealy)
force-pushed
the
phealy/net-status-collection-efficiency
branch
from
September 17, 2026 19:16
2bbcf5e to
538518d
Compare
Patrick W. Healy (phealy)
force-pushed
the
phealy/net-status-collection-efficiency
branch
2 times, most recently
from
September 17, 2026 21:01
a52ac36 to
86dae62
Compare
Build route classification once per snapshot, append BPF records into shared output, and cache successful interface resolution per collection without retaining stale topology. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d2243398-6c36-4c3d-969e-7ed7bfb5b459
Patrick W. Healy (phealy)
force-pushed
the
phealy/net-status-collection-efficiency
branch
from
September 17, 2026 21:15
86dae62 to
bba04c2
Compare
Copilot started reviewing on behalf of
Cameron Childress (cchildress)
September 18, 2026 15:37
View session
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The optimizations preserve existing semantics and include focused behavioral and performance coverage.
Pull request overview
Optimizes node status collection allocations while preserving routing and refresh behavior.
Changes:
- Reuses one route-classification index per snapshot.
- Reuses BPF output storage and successful interface lookups.
- Adds behavioral, allocation, benchmark, and operational coverage.
File summaries
| File | Description |
|---|---|
docs/net/operations.md |
Documents collection caching behavior. |
cmd/unbounded-net-node/route_annotations.go |
Shares route-classification data across address families. |
cmd/unbounded-net-node/route_annotations_memory_test.go |
Tests route behavior and allocation bounds. |
cmd/unbounded-net-node/bpf_status.go |
Reduces BPF collection allocations and interface lookups. |
cmd/unbounded-net-node/bpf_status_test.go |
Tests BPF caching, output, and benchmarks. |
Review details
- Files reviewed: 5/5 changed files
- Comments generated: 0
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Cameron Childress (cchildress)
approved these changes
Sep 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Production-only node status collection optimizations, stacked on #731. No simulator, e2e suite, new dependency, routing policy, or publication-interval changes are included.
Stack: #731 -> #743 (this PR) -> #744 (status transport/controller memory) -> #745 (health checks).
Validation
cmd/unbounded-net-nodetests passed on the current fix(net): validate OIDC pod bindings against informer caches #731 base.make fmt,make lint(including actionlint), and node build passed.These are isolated benchmark comparisons, not a claim about whole-cluster RSS or CPU percentages. Original dirty simulator and optimization worktrees are preserved.