Skip to content

Tracking: ev-metrics optimization roadmap (bugs, scalability, features, cleanup) #53

Closed

Description

@auricom

Tracking issue for the optimization review of ev-metrics: bugs, refactors and features, grouped by priority.

P0 = metrics are wrong, or the process crashes or hangs · P1 = scalability and reliability · P2 = features · P3 = refactor and hygiene
Effort: S < 1h · M ≈ half a day

Status (updated 2026-10-20)

Upgrade notes from this roadmap

P0 — Correctness ✅ done

P1 — Scalability and reliability ✅ done

P2 — Features ✅ done

P3 — Refactor and hygiene ✅ done

Related existing issues

Order followed

  1. P0 ✅ (fix(celestia): send auth token on block timestamp lookups #55, fix: migrate to ev-node v1.0.0 DA client #56, fix: P0 correctness bugs (halt detection, hangs, panic, docs) #57)
  2. P1 ✅ (P1: verifier scalability, DA cache, client reuse, log format, security bumps #58)
  3. P2 ✅ (P2: self-observability, /health, receive delay, tx-block header checks, URL reda #59)
  4. P3 ✅ (P3: remove debug env, cleanups, static non-root image, CI hardening #61)
  5. Remaining housekeeping: merge chore(deps): bump the go_modules group across 1 directory with 2 updates #60, fix and merge Ci/add to project #32

Intentionally out of scope (YAGNI for now)

  • Prometheus native histograms instead of the histogram + summary pairs
  • A config file, or time.Duration-typed flags (breaking change)
  • Configurable SLO thresholds (wait until a second chain needs different ones)

Definition of done (per PR)

  • make lint-fix is clean and go test -race ./... passes.
  • New or changed flags and metrics are documented in README.md.
  • Every behaviour change has a test.

Activity

  1. auricom commented on Oct 20, 2026

    @auricom
    CollaboratorAuthor

    All P0 fixes (#34 #35 #36 #37 #38) are in #57. #35 went into that PR instead of #33, so whichever of #33 and #57 merges second needs a small rebase: the token field in celestia/client.go and the import order in drift.go.

  2. auricom commented on Oct 20, 2026

    @auricom
    CollaboratorAuthor

    Status update (supersedes the "Open PRs" table above):

  3. auricom commented on Oct 20, 2026

    @auricom
    CollaboratorAuthor

    All P1 issues (#39 #40 #41 #42 #43 #54) are in #58. Note that it raises the required Go version to 1.26 (x/net v0.60.0 needs it), and govulncheck goes from 11 reachable vulnerabilities to 1, which has no fix available.

  4. auricom commented on Oct 20, 2026

    @auricom
    CollaboratorAuthor

    All P2 issues (#44 #45 #46 #47 #48 #49) are in #59. Two things to watch when it lands: dashboards that use the submission_duration_seconds summary will show NaN quantiles during quiet periods (use the new last_submission_duration_seconds gauge), and header submission counts rise because blocks with transactions now verify their header blob as well.

  5. auricom commented on Oct 20, 2026

    @auricom
    CollaboratorAuthor

    All P3 issues (#50 #51 #52) are in #61. That completes the roadmap once it merges. Note: the new Docker build (static, non-root, native arm64 cross-compile) and the new govulncheck workflow have never run before, so the build-and-push and govulncheck checks on #61 are their first real test. Operators should note that EVMETRICS_DEBUG is gone (use --verbose) and the container now runs as UID 65532.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions