Skip to content
This repository was archived by the owner on May 15, 2026. It is now read-only.
This repository was archived by the owner on May 15, 2026. It is now read-only.

Prometheus /metrics endpoint #1

@proofmancer

Description

@proofmancer

Why

Once `faucet.ligate.io` is live, ops needs to monitor: drip success rate, drip latency, rate-limiter rejections, signer-key signing latency, sequencer submission failures. Today the faucet logs to stdout but exposes no scrapable metrics surface.

What

Add a Prometheus `/metrics` endpoint mirroring the chain repo's pattern (`crates/rollup/src/metrics.rs`):

  • `faucet_drips_total{outcome="success|rate_limited|invalid_address|signer_error|submit_error"}` counter
  • `faucet_drip_duration_seconds` histogram (request → tx_hash returned)
  • `faucet_signer_nonce` gauge (current atomic nonce)
  • `faucet_addresses_dripped` gauge (mirror of `/faucet/status` but in Prometheus shape)
  • `faucet_rate_limit_evictions_total` counter

Bind on a separate port (e.g. `:9101`) so the public `:8080` doesn't expose internals.

Why pre-devnet

Without this, when someone reports "the faucet isn't dripping" we have no signal except logs. With this, we can put a Grafana panel on `grafana.ligate.io` and see the failure shape immediately.

Done when

  • `/metrics` endpoint serves the listed metrics
  • README documents the bind address + scrape config
  • Wired into the existing `docker-compose.yml` deploy

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions