feat(devops): Phase 5 alert metrics, ordering-regime timer units, alert rules (WP 7916) #13
No reviewers
Labels
No labels
auto-merge
auto-merge
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
fortiblox/arc-mev-bot!13
Loading…
Reference in a new issue
No description provided.
Delete branch "devops/phase5-alerts"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
WP 7916 follow-up — Phase 5 alert metrics, ordering-regime timer, alert rules (from research §4.5)
bot/metrics.py: addsarcmev_stage_seconds{stage},arcmev_head_skipped_total{reason},arcmev_refresh_failed_total{endpoint},arcmev_executor_paused,arcmev_adapter_code_missing,arcmev_base_fee_wei,arcmev_inclusion_delay_blocks; documents the ordering-regime gauges (arcmev_ordering_inversions_unexplained_pct,arcmev_ordering_extra_data_mismatch,arcmev_ordering_probe_ts_seconds); merges*.promtextfiles fromARCMEV_TEXTFILE_DIRinto/metrics;python3 -m bot.metricsruns standalone so100.97.18.104:9109is scrapeable before the bot process exists.deploy/systemd/(NOT installed — follow-up, install + rollback in its README):arc-mev-metrics.service, hourlyarc-mev-ordering-regime.timer/.servicerunningdocs/research/probes/ordering_regime_probe.pyagainst the local node,ordering_regime_export.py(JSON → textfile, exit 2 oninversions_unexplained > 1 %orextra_data mismatch > 0).monitoring/prometheus/arc-mev-bot.rules.yml: 14 alerts (heads skipped > 5 %, revert ratio > 30 %, refresh failing 3 min, sending-while-paused, adapter code missing, base fee > 5× floor, loop over budget, RPC errors, ordering rule / fee model changed, probe stale/missing, down, head stale). Dashboard regenerated (29 panels) from the checked-ingen_dashboard.py..gitignore:__pycache__/+*.pycat any depth (PR #6/#7 class).docs/monitoring.md: metric table + alert table + Phase 5 timer runbook.Verified on LXC 140:
make testOK (Python 3.12.3); probe over 40 local blocks → 0 unexplained inversions, 0 extra_data mismatch; exporter → textfile → served through/metrics;/healthz200.🤖 Generated with Claude Code
automerger v2 auto-approved: all 7 gates pass. Approver: fortiblox-dev (opposite-identity rule). Gates: mergeable=true,label=auto-merge,author=buddysan,identity=ok,status_checks=not_required,signatures=upstream_BP_only,opt_in=repo_marker.
Auto-merged by forgejo-automerger at 2026-09-16 14:02:26 UTC. Approver:
fortiblox-dev(opposite-identity rule, Option C upgrade 2026-05-13). Merger:buddysanviafast-forward-only(NOT adminforce_merge). Criteria passed:mergeable=true,label=auto-merge,author=buddysan,identity=ok,status_checks=not_required,signatures=upstream_BP_only,opt_in=repo_marker. Branchb82c89490bmerged ontomainand feature branch deleted. Seeproject_forgejo_automergermemory for rationale.