Skip to content

[Feature Request]: Add E2E test to verify prometheus metrics are exposed correctly #23

Open

Description

@chatton

Implementation ideas

In would be nice to be able to have an E2E test run on CI that verified metrics are being exposed correctly.

We could use tastora to deploy all the components and wire them up for monitoring.

I imagine this looking like a test that builds an image on a PR, uses a struct with an embedded *container.Node from the tastora library, deploying it along side celestia/node/ev-node etc.

Initially we could just test the happy path, as triggering failure such as unsubmitted headers could be trickier. We could do things like kill the DA layer and verify metrics are exposed correctly.

Activity

  1. moved this to Up Next in Evolveon Feb 23, 2026
  2. auricom commented on Oct 20, 2026

    @auricom
    Collaborator

    Status after the optimization work (#57–#61): this is still open, since no end-to-end test exists yet. Two things changed that matter for designing it:

    • Observable signals for the "kill the DA layer" scenario: endpoint_availability, endpoint_errors_total, ev_metrics_unsubmitted_blocks_total, submission_failures_total, ws_reconnects_total, last_header_received_timestamp, and /health (503 while the subscription is down). See the README "Prometheus Metrics" and "Health Endpoint" sections.
    • Covered by unit and integration-style tests already: metric registration and values via a Prometheus registry, /health behaviour, the verifier with fakes (retries, backfill, reconnect), drift and balance against httptest and fake gRPC servers. The e2e test would add what these cannot: the real Docker image, the real /metrics scrape, and real ev-node and Celestia.
    • The Docker image is now a static non-root distroless build (UID 65532), so a tastora node wrapping it should not rely on a shell inside the image.
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

    • Status
      Up Next

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions