Skip to content

docs: observability improvement plan#43

Open
simonzg wants to merge 1 commit into
testnetfrom
observability-plan
Open

docs: observability improvement plan#43
simonzg wants to merge 1 commit into
testnetfrom
observability-plan

Conversation

@simonzg

@simonzg simonzg commented May 1, 2026

Copy link
Copy Markdown
Contributor

Summary

Proposes two independent, non-breaking changes to move beyond the current Prometheus-only pull model.

Change 1 — Event-driven webhook notifier (quick win)

  • Fires a webhook POST on the 5 transitions that matter for ops: in/out of committee, epoch change, height stall, peers lost
  • Fire-and-forget goroutine, never blocks the hot path
  • No-op when --webhook-url is not set — zero impact on existing nodes
  • New notifier/ package; hooks into existing inCommitteeGauge.Set(...) call sites

Change 2 — OpenTelemetry push at block cadence

  • Nodes push metrics every 2s (matching RoundInterval) to an OTel Collector
  • Eliminates the 7–14 missed block commits between 15s Prometheus scrapes
  • Works through firewalls (push-out, no inbound scrape port needed)
  • Existing /metrics pull endpoint kept during transition — non-breaking
  • Grafana dashboards unchanged (Collector re-exposes as Prometheus)

Also documents 6 new metrics worth adding (round duration histogram, vote count, p2p bytes, txpool size, block processing time, QC verify time).

Related

🤖 Generated with Claude Code

Two-change plan to replace the current Prometheus-only pull model:

1. Event-driven webhook notifier for critical state transitions
   (in/out of committee, epoch change, height stall, peers lost).
   Fire-and-forget, non-blocking, no-op when unconfigured.

2. OpenTelemetry push export at 2s interval to match block cadence,
   eliminating missed blocks between Prometheus scrapes. Non-breaking:
   existing /metrics pull endpoint kept during transition.

Also lists 6 new metrics worth adding during the work.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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