Closed
Description
Why
We want to have Mithril aggregator expose simple metrics via a Prometheus endpoint to facilitate the monitoring by their operators.
What
When configured to do so, the Mithril aggregator should expose a Prometheus endpoint with basic metrics.
How
- Define the metrics to compute, and how to compute them:
-
certificate_detail_total_served_since_startup
(Counter) -
artifact_detail_cardano_db_total_served_since_startup
(Counter) -
artifact_detail_mithril_stake_distribution_total_served_since_startup
(Counter) -
artifact_detail_cardano_stake_distribution_total_served_since_startup
(Counter) -
artifact_detail_cardano_transaction_total_served_since_startup
(Counter) -
proof_cardano_transaction_total_proofs_served_since_startup
(Counter) -
proof_cardano_transaction_total_transactions_served_since_startup
(Counter) -
signer_registration_total_received_since_startup
(Counter) -
signature_registration_total_received_since_startup
(Counter) -
certificate_total_produced_since_startup
(Counter) -
artifact_cardano_db_total_produced_since_startup
(Counter) -
artifact_mithril_stake_distribution_total_produced_since_startup
(Counter) -
artifact_cardano_stake_distribution_total_produced_since_startup
(Counter) -
artifact_cardano_transaction_total_produced_since_startup
(Counter) -
runtime_cycle_success_since_startup
(Counter) -
runtime_cycle_total_since_startup
(Counter)
-
- Implement a Metrics Service that records Prometheus metrics (using the macro from
mithril-metric
module) - Implement a Metrics Server that exposes Prometheus metrics to an endpoint
- Optout activation of the endpoint
- Update documentation (https://mithril.network/doc/manual/developer-docs/nodes/mithril-aggregator)
- Deploy metrics endpoints for aggregator node in infra
- Assess that there is no performance degradation on HTTP routes
Later
- Record state of prometheus metrics?