fix(telemetry): mirror second-scale histogram buckets into Alloy config

The Alloy spanmetrics connector (perf-iac nodes run Alloy instead of the
collector-contrib image) carried the same old [.. 1s, 5s] bucket list, whose
buckets are documented as "copied from" the collector config. Sync it to the
15-bucket layout (adds 2s, 3s, 4s, 10s, 30s) so Alloy-fed nodes get the same
accurate second-scale consensus and ledger.acquire percentiles as
collector-fed nodes. unit was already "ms". Kept strictly ascending.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Pratik Mankawde
2026-07-23 14:05:37 +01:00
parent 48a5aad91d
commit f547c80f4c

View File

@@ -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"]
}
}