-
Notifications
You must be signed in to change notification settings - Fork 932
Closed
Labels
Description
@macladson and I noticed that we are missing some important routes from the HTTP metrics. This bloc probably needs an update:
lighthouse/beacon_node/http_api/src/lib.rs
Lines 212 to 243 in d60c24e
| // First line covers `POST /v1/beacon/blocks` only | |
| equals("v1/beacon/blocks") | |
| .or_else(|| starts_with("v1/validator/blocks")) | |
| .or_else(|| starts_with("v2/validator/blocks")) | |
| .or_else(|| starts_with("v1/validator/blinded_blocks")) | |
| .or_else(|| starts_with("v1/validator/duties/attester")) | |
| .or_else(|| starts_with("v1/validator/duties/proposer")) | |
| .or_else(|| starts_with("v1/validator/duties/sync")) | |
| .or_else(|| starts_with("v1/validator/attestation_data")) | |
| .or_else(|| starts_with("v1/validator/aggregate_attestation")) | |
| .or_else(|| starts_with("v2/validator/aggregate_attestation")) | |
| .or_else(|| starts_with("v1/validator/aggregate_and_proofs")) | |
| .or_else(|| starts_with("v2/validator/aggregate_and_proofs")) | |
| .or_else(|| starts_with("v1/validator/sync_committee_contribution")) | |
| .or_else(|| starts_with("v1/validator/contribution_and_proofs")) | |
| .or_else(|| starts_with("v1/validator/beacon_committee_subscriptions")) | |
| .or_else(|| starts_with("v1/validator/sync_committee_subscriptions")) | |
| .or_else(|| starts_with("v1/beacon/pool/attestations")) | |
| .or_else(|| starts_with("v2/beacon/pool/attestations")) | |
| .or_else(|| starts_with("v1/beacon/pool/sync_committees")) | |
| .or_else(|| starts_with("v1/beacon/blocks/head/root")) | |
| .or_else(|| starts_with("v1/validator/prepare_beacon_proposer")) | |
| .or_else(|| starts_with("v1/validator/register_validator")) | |
| .or_else(|| starts_with("v1/beacon/")) | |
| .or_else(|| starts_with("v2/beacon/")) | |
| .or_else(|| starts_with("v1/config/")) | |
| .or_else(|| starts_with("v1/debug/")) | |
| .or_else(|| starts_with("v2/debug/")) | |
| .or_else(|| starts_with("v1/events/")) | |
| .or_else(|| starts_with("v1/node/")) | |
| .or_else(|| starts_with("v1/validator/")) | |
| .unwrap_or("other") |
With tracing, we also lost the rather useful log:
lighthouse/beacon_node/http_api/src/lib.rs
Lines 205 to 212 in bf955c7
| debug!( | |
| log, | |
| "Processed HTTP API request"; | |
| "elapsed" => format!("{:?}", info.elapsed()), | |
| "status" => status.to_string(), | |
| "path" => info.path(), | |
| "method" => info.method().to_string(), | |
| ); |
Improving this will help us see the difference in perf when upgrading from warp to axum
While we're restoring that log, we should ensure it always logs milliseconds as a float like:
elapsed_ms: 1.0
elapsed_ms: 0.001
elapsed_ms: 50000.0
This makes the logs easier to parse/categorise (no units to remove)