diff --git a/docker/telemetry/alloy/config.alloy b/docker/telemetry/alloy/config.alloy index f56a947426..87cb52ca16 100644 --- a/docker/telemetry/alloy/config.alloy +++ b/docker/telemetry/alloy/config.alloy @@ -189,7 +189,14 @@ otelcol.connector.spanmetrics "xrpld" { histogram { unit = "ms" explicit { - buckets = ["1ms", "5ms", "10ms", "25ms", "50ms", "100ms", "250ms", "500ms", "1s", "5s"] + // Buckets MUST stay strictly ascending (the connector binary-searches + // them and silently misbuckets otherwise) and MUST match the two + // otel-collector-config*.yaml lists. Sub-second boundaries cover + // RPC/tx/ledger spans; 2s-4s resolve second-scale consensus spans + // (consensus.round ~3.9s, consensus.establish ~1.9s) that used to pile + // into one 1s-5s bucket; 10s/30s give the ledger.acquire catch-up tail + // (~17% exceeds 5s) a measurable home so its p95/p99 stop reading +Inf. + buckets = ["1ms", "5ms", "10ms", "25ms", "50ms", "100ms", "250ms", "500ms", "1s", "2s", "3s", "4s", "5s", "10s", "30s"] } }