Commit Graph

15476 Commits

Author SHA1 Message Date
Pratik Mankawde
a1d7b18ce1 fix(telemetry): drop redundant OTTL copy of service.name for cloud labels
Grafana Cloud's OTLP ingest already promotes the `service.name` resource
attribute to a `service_name` metric label. The `transform/cloudlabels`
processor was ALSO setting `service_name` as a datapoint attribute,
which Mimir treats as a duplicate label and concatenates as
`service_name="xrpld;xrpld"` on every series. Dashboards filtering on
`service_name=xrpld` then returned no data.

Remove the redundant `set(attributes["service_name"], ...)` line and
add a comment documenting the doubling. `service.instance.id` does not
exhibit the same behaviour, so that copy is retained for the $node
filter to keep resolving.

Reintroduces the pre-e76eed5296 shape (which was correct on this label)
without reverting that commit's other cloud-label fixes.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-09 17:06:07 +01:00
Pratik Mankawde
432a98160a Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-phase10-workload-validation 2026-07-09 17:04:42 +01:00
Pratik Mankawde
a835fbb297 refactor(telemetry): rename dashboard template variable label from 'Service' to 'Service Name'
Completes the rename applied on phase-6-statsd and phase-7-native-metrics.
These four dashboards were introduced on phase-9: peer-quality and
validator-health via b92354715d, fee-market and job-queue via 25868f2740.

Same reasoning: the underlying Prometheus label is `service_name`,
so the UI display label should say 'Service Name' rather than the
ambiguous 'Service'.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-09 17:04:23 +01:00
Pratik Mankawde
b2d3b31169 Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill 2026-07-09 17:04:06 +01:00
Pratik Mankawde
4ed9bd595d Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-phase8-log-correlation 2026-07-09 17:03:56 +01:00
Pratik Mankawde
bab0c84793 refactor(telemetry): rename dashboard template variable label from 'Service' to 'Service Name'
Continuation of the same rename applied on phase-6-statsd (commit
91c6582bd5): 5 more dashboards introduced on phase-7 (formerly the
system-* set, renamed to bare names by 2c590a47c5) still carried the
older 'Service' UI label. Aligning them with the rest.

Same reasoning as the phase-6 commit: the underlying Prometheus label
is `service_name`, and the UI label 'Service' misled users into typing
`service=xrpld` in Grafana Metrics Drilldown.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-09 17:03:47 +01:00
Pratik Mankawde
46cff27b15 Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics 2026-07-09 17:03:35 +01:00
Pratik Mankawde
91c6582bd5 refactor(telemetry): rename dashboard template variable label from 'Service' to 'Service Name'
The template variable's Prometheus label name is `service_name` but the
UI display label read 'Service', which mismatched what users typed into
Grafana's Metrics Drilldown UI (which defaults to filter on a bare
`service` label). Rename the display label to 'Service Name' so it
unambiguously points at the underlying `service_name` Prometheus label.

Behaviour unchanged; template-variable name (`service_name`) and PromQL
label are the same. Only the widget label shown at the top of the
dashboard changes from 'Service' to 'Service Name'.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-09 17:03:15 +01:00
Pratik Mankawde
6e6dfbab48 Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-phase10-workload-validation 2026-07-09 15:10:20 +01:00
Pratik Mankawde
e579bad9de Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill 2026-07-09 15:10:02 +01:00
Pratik Mankawde
cefcd88c87 Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-phase8-log-correlation 2026-07-09 15:09:53 +01:00
Pratik Mankawde
7ab34d2e37 fix(telemetry): resolve phase-7 clang-tidy findings
- OTelCollector::formatName made static (no member state); braces added;
  <cctype> added for std::tolower.
- Telemetry.cpp getMeter(): braces around single-statement if.
- GetMeter.cpp: drop unused <opentelemetry/metrics/meter.h> and
  sync_instruments.h; add <xrpl/beast/utility/Journal.h> and <memory>;
  make sdkProvider const.
- ValidationTracker.h: add <cstddef> for std::size_t.
- detail/ValidationTracker.cpp: use std::views::reverse range-based loop;
  add <ranges>.
- test ValidationTracker.cpp: use auto for cast result.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 15:09:43 +01:00
Pratik Mankawde
e304d65d63 Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics 2026-07-09 15:01:54 +01:00
Pratik Mankawde
62ab3a8ca0 metric bug fixes
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-07-09 14:27:02 +01:00
Pratik Mankawde
71f725204c Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-phase6-statsd 2026-07-09 14:01:37 +01:00
Pratik Mankawde
48c3c7ecfc Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-phase5-docs-deployment 2026-07-09 14:01:37 +01:00
Pratik Mankawde
bbdb8dc19b Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing 2026-07-09 14:01:37 +01:00
Pratik Mankawde
c2e5e0d808 Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing
# Conflicts:
#	include/xrpl/telemetry/SpanGuard.h
2026-07-09 14:01:27 +01:00
Pratik Mankawde
9240dc2a12 Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-phase2-rpc-tracing 2026-07-09 14:00:33 +01:00
Pratik Mankawde
baacd054c9 Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-phase1c-rpc-integration 2026-07-09 14:00:33 +01:00
Pratik Mankawde
ebf8b6e8a9 fix(telemetry): add <cstdint> to TxTracing.h for std::uint8_t (misc-include-cleaner)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 14:00:22 +01:00
Pratik Mankawde
84f2ff6b58 fix(telemetry): drop unused <ranges> from Redaction.cpp and its test (misc-include-cleaner)
std::ranges::transform/all_of come from <algorithm>, which is already included.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 14:00:20 +01:00
Pratik Mankawde
c7b04a043e fix(telemetry): drop unused <cstddef> from SpanGuard.h (misc-include-cleaner)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 14:00:17 +01:00
Pratik Mankawde
2b9b54e246 Merge branch 'pratik/otel-phase10-workload-validation' of github.com:XRPLF/rippled into pratik/otel-phase10-workload-validation 2026-07-08 18:44:58 +01:00
Pratik Mankawde
6512ce604f Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-phase1c-rpc-integration 2026-07-08 18:44:34 +01:00
Pratik Mankawde
f6b5b663dc Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing 2026-07-08 18:44:34 +01:00
Pratik Mankawde
1732c913a3 Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-phase2-rpc-tracing 2026-07-08 18:44:34 +01:00
Pratik Mankawde
200a13c943 Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill 2026-07-08 18:44:17 +01:00
Pratik Mankawde
5f32fb79d4 Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-phase8-log-correlation 2026-07-08 18:44:17 +01:00
Pratik Mankawde
a3f2e790d7 Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-phase10-workload-validation 2026-07-08 18:44:17 +01:00
Pratik Mankawde
d17c1c5c7f Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-phase7-native-metrics 2026-07-08 18:44:16 +01:00
Pratik Mankawde
2321b4985d Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-phase5-docs-deployment 2026-07-08 18:44:04 +01:00
Pratik Mankawde
1d6475ac0e fix(telemetry): add missing SpanNames.h and cstdint includes (misc-include-cleaner) 2026-07-08 18:43:43 +01:00
Pratik Mankawde
04f1775e10 Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing 2026-07-08 18:42:58 +01:00
Pratik Mankawde
ec7d99228a fix(telemetry): add missing OTel headers for TraceContextPropagator (misc-include-cleaner) 2026-07-08 18:42:31 +01:00
Pratik Mankawde
09e083a718 Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-phase3-tx-tracing 2026-07-08 18:42:10 +01:00
Pratik Mankawde
e7ba376839 fix(telemetry): add missing span_metadata.h for SpanKind (misc-include-cleaner) 2026-07-08 18:41:59 +01:00
Pratik Mankawde
829cad81af docs(telemetry): update metric names across docs, tests, alert rules, and plan docs
Strip xrpld_ prefix, lowercase beast::insight names, and replace
traces_span_metrics_ with span_ in all remaining tracked files:
alert rules, integration tests, workload validation, TESTING.md,
OpenTelemetryPlan docs, code comments, and config templates.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-08 18:01:53 +01:00
Pratik Mankawde
dcf7d55503 fix(telemetry): remove stale xrpld_ references from code comments
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-08 17:52:11 +01:00
Pratik Mankawde
6a50635f10 Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-phase10-workload-validation 2026-07-08 17:51:09 +01:00
Pratik Mankawde
b3a25456b1 Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill 2026-07-08 17:49:51 +01:00
Pratik Mankawde
0b76f91f02 Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-phase8-log-correlation 2026-07-08 17:49:46 +01:00
Pratik Mankawde
dd9635684a fix(telemetry): strip xrpld_ prefix from MetricsRegistry, rename spanmetrics namespace
Remove redundant xrpld_ prefix from all 34 MetricsRegistry instrument
names — service identity comes from the OTel resource, not the metric
name. Duration histograms retain their unit suffix (job_queued_duration_us,
job_running_duration_us, rpc_method_duration_us).

Set spanmetrics connector namespace to "span" so derived metrics become
span_calls_total and span_duration_milliseconds_bucket instead of the
verbose traces_span_metrics_ prefix.

Update all 14 dashboard JSONs: strip xrpld_ prefix, lowercase
beast::insight metric names, replace traces_span_metrics_ with span_.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-08 17:49:29 +01:00
Pratik Mankawde
e76eed5296 fix(telemetry): add service_name to cloud labels, rename spanmetrics namespace
Add service_name to transform/cloudlabels so Grafana Cloud dashboards
can filter by service.name (fixes empty panels for native metrics).

Set spanmetrics namespace to "span" in the cloud collector config and
update dashboards + runbook: traces_span_metrics_ → span_.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-08 17:47:21 +01:00
Pratik Mankawde
77f35c03db fix(telemetry): remove metric prefix, lowercase names, fix spaces in formatName
Drop the xrpld_ prefix from beast::insight metric names — the OTel
resource (service.name=xrpld) already identifies the service. formatName()
now lowercases and sanitizes spaces/dots to underscores for
Prometheus-compatible names.

Also fix 4 source strings containing spaces that produced invalid OTel
instrument names (silently rejected by the SDK).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-08 17:45:36 +01:00
Pratik Mankawde
a6639003e5 added toc
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-07-08 17:36:10 +01:00
Pratik Mankawde
98e35d6c51 Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-phase10-workload-validation 2026-07-08 16:02:59 +01:00
Pratik Mankawde
11d2d9038b Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-phase6-statsd 2026-07-08 16:02:58 +01:00
Pratik Mankawde
f0d72f54d0 Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-phase8-log-correlation 2026-07-08 16:02:58 +01:00
Pratik Mankawde
9819abba3a Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill 2026-07-08 16:02:58 +01:00