Skip to content

feat(monitoring): chunk fan-out placement panels in default dashboard#811

Closed
vilenarios wants to merge 1 commit into
developfrom
feat/grafana-chunk-fanout-placement-panels
Closed

feat(monitoring): chunk fan-out placement panels in default dashboard#811
vilenarios wants to merge 1 commit into
developfrom
feat/grafana-chunk-fanout-placement-panels

Conversation

@vilenarios

Copy link
Copy Markdown
Contributor

What

Adds a "Chunk Fan-out Seeding (placement)" row to the provisioned Grafana dashboard (monitoring/grafana/dashboards/default.json), visualizing the metrics from the fault-domain-aware quorum work (#806):

Panel Shows
Distinct fault domains per POST (avg / p50 / p10) how many independent operators (IP /24·/48) each chunk lands on. p10 is the seeding-risk tail — low p10 = a real slice of chunks landing on few fault domains
Preferred (tip) shortfall rate by reason tips_unavailable surfaces the tips-/24 SPOF even when the soft-preferred fallback still succeeds
Distinct-domain target shortfall rate by reason unmet vs degraded (soft-capped on scarcity)
Chunk broadcast success rate quorum context

Notes

  • Additive only — existing panels are unchanged (verified: 362 insertions, all prior panels intact).
  • Panels reference chunk_post_distinct_domains, chunk_post_{preferred,domain}_shortfall_total, and the existing arweave_chunk_broadcast_total. They show "No data" until feat(chunk-post): fault-domain-aware quorum + soft-preferred fallback (B2) #806 merges and the metrics flow — harmless until then.
  • Auto-provisioned via monitoring/grafana/provisioning/dashboards (loads on next Grafana start).
  • This is the gateway-operator observability surface for the placement work; it is not end-user or bundler-facing (see the boundary RFC for the bundler-side proposal).

🤖 Generated with Claude Code

…oard

Adds a "Chunk Fan-out Seeding (placement)" row to the provisioned Grafana
dashboard visualizing the metrics introduced with the fault-domain-aware
quorum (#806):

- Distinct fault domains per POST (avg / p50 / p10) — p10 is the seeding-risk
  tail; low p10 = chunks landing on few independent operators.
- Preferred (tip) shortfall rate by reason — makes a tips-/24 outage
  (tips_unavailable) visible even when the soft-preferred fallback still
  succeeds.
- Distinct-domain target shortfall rate by reason (unmet / degraded).
- Chunk broadcast success rate — quorum context.

Panels are inert ("No data") until #806's metrics flow; they reference
chunk_post_distinct_domains, chunk_post_{preferred,domain}_shortfall_total,
and the existing arweave_chunk_broadcast_total. Additive only — existing
panels unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XQPK4TXcVoXoyFp6sNW2Lr
@coderabbitai

coderabbitai Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: f1194449-dcf9-4e11-a8ab-bcbdd73787a2

📥 Commits

Reviewing files that changed from the base of the PR and between feefd25 and 04eeeb0.

📒 Files selected for processing (1)
  • monitoring/grafana/dashboards/default.json

📝 Walkthrough

Walkthrough

This PR modifies the Grafana dashboard JSON by reformatting a stat panel's calcs field and adding a new "Chunk Fan-out Seeding (placement)" row panel with four timeseries panels covering fault domains, shortfall rates by reason, and chunk broadcast success rate metrics.

Changes

Grafana Dashboard Update

Layer / File(s) Summary
New chunk fan-out seeding panels and formatting
monitoring/grafana/dashboards/default.json
Adds a new row panel and four timeseries panels (IDs 15–18) with Prometheus quantile queries, legend/tooltip settings, and a percentunit unit for chunk broadcast success rate; also reformats an existing stat panel's calcs array to multi-line.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Suggested reviewers: djwhitt, karlprieb

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly matches the main change: adding chunk fan-out placement panels to the default Grafana dashboard.
Description check ✅ Passed The description is directly about the same dashboard panels and metrics described in the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/grafana-chunk-fanout-placement-panels

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Jul 1, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.76%. Comparing base (96ede32) to head (04eeeb0).
⚠️ Report is 19 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #811      +/-   ##
===========================================
+ Coverage    78.65%   78.76%   +0.10%     
===========================================
  Files          132      132              
  Lines        49980    50093     +113     
  Branches      3763     3780      +17     
===========================================
+ Hits         39312    39454     +142     
+ Misses       10620    10591      -29     
  Partials        48       48              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@vilenarios

Copy link
Copy Markdown
Contributor Author

Superseded by #812 — consolidated into the feature/chunk-fanout integration branch (F + B1 + B2 + dashboard as one coherent PR). All commits from this branch are included there; closing to review as a unit.

@vilenarios vilenarios closed this Jul 1, 2026
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