From e87432fe3c773f6c0f74b99c82bc3cbf0cb9331a Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Fri, 18 Sep 2026 09:24:56 +0100 Subject: [PATCH] fix(telemetry): drop the suppressed references the span no longer emits tx.receive is created after the duplicate check, so it never carries a suppressed attribute. The Tempo tag filter and the dashboard panel still referenced it, and check_otel_naming rules C and D fail on a reference with no constant behind it. The panel keeps its remaining signal as a plain receive rate. How many relayed copies were dropped is the transactions_duplicate traffic category, which does not depend on a span. The spanmetrics dimension goes too; a dimension for an attribute nothing sets only widens the label set. --- .../grafana/dashboards/transaction-overview.json | 8 ++++---- .../telemetry/grafana/provisioning/datasources/tempo.yaml | 5 ----- docker/telemetry/otel-collector-config.yaml | 1 - 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/docker/telemetry/grafana/dashboards/transaction-overview.json b/docker/telemetry/grafana/dashboards/transaction-overview.json index 94cc8be828..3fb01f7cd8 100644 --- a/docker/telemetry/grafana/dashboards/transaction-overview.json +++ b/docker/telemetry/grafana/dashboards/transaction-overview.json @@ -140,8 +140,8 @@ } }, { - "title": "Transaction Receive vs Suppressed", - "description": "**What:** Raw transaction messages received from peers, split by whether they were suppressed as duplicates before processing.\n**How it's computed:** Per-second rate split by suppressed flag over a 5-minute window, per node.\n**Reading it:** A healthy relay network produces a steady suppressed share as duplicates are filtered.\n**Healthy range:** Workload-dependent; suppression is expected and normal.\n**Watch for:** A sharp rise in the suppressed line can reflect gossip amplification or a peer replaying transactions.\n**Source:** src/xrpld/overlay/detail/PeerImp.cpp:PeerImp::handleTransaction", + "title": "Transaction Receive Rate", + "description": "**What:** Transactions received from peers that this node went on to process.\n**How it's computed:** Per-second rate of the tx.receive span over a 5-minute window, per node.\n**Reading it:** Tracks the useful inbound transaction load. Copies dropped as duplicates are not counted here, because the span starts after the duplicate check; their volume is the transactions_duplicate traffic category.\n**Healthy range:** Workload-dependent.\n**Watch for:** A fall to zero while peers are connected means inbound relay has stopped.\n**Source:** src/xrpld/overlay/detail/PeerImp.cpp:PeerImp::handleTransaction", "type": "timeseries", "gridPos": { "h": 8, @@ -161,8 +161,8 @@ "datasource": { "type": "prometheus" }, - "expr": "sum by (suppressed, service_instance_id) (rate(traces_span_metrics_calls_total{span_name=\"tx.receive\", tx_type=~\"$tx_type\", service_instance_id=~\"$node\", deployment_environment=~\"$deployment_environment\", xrpl_network_type=~\"$xrpl_network_type\", service_name=~\"$service_name\"}[$__rate_interval]))", - "legendFormat": "Suppressed={{suppressed}} [{{service_instance_id}}]" + "expr": "sum by (service_instance_id) (rate(traces_span_metrics_calls_total{span_name=\"tx.receive\", tx_type=~\"$tx_type\", service_instance_id=~\"$node\", deployment_environment=~\"$deployment_environment\", xrpl_network_type=~\"$xrpl_network_type\", service_name=~\"$service_name\"}[$__rate_interval]))", + "legendFormat": "Tx Receive [{{service_instance_id}}]" } ], "fieldConfig": { diff --git a/docker/telemetry/grafana/provisioning/datasources/tempo.yaml b/docker/telemetry/grafana/provisioning/datasources/tempo.yaml index 3497c287ab..dfb0440dd7 100644 --- a/docker/telemetry/grafana/provisioning/datasources/tempo.yaml +++ b/docker/telemetry/grafana/provisioning/datasources/tempo.yaml @@ -186,11 +186,6 @@ datasources: operator: "=" scope: span type: dynamic - - id: tx-suppressed - tag: suppressed - operator: "=" - scope: span - type: dynamic - id: peer-version tag: peer_version operator: "=" diff --git a/docker/telemetry/otel-collector-config.yaml b/docker/telemetry/otel-collector-config.yaml index 806df58449..87892939b6 100644 --- a/docker/telemetry/otel-collector-config.yaml +++ b/docker/telemetry/otel-collector-config.yaml @@ -100,7 +100,6 @@ connectors: - name: consensus_mode - name: close_time_correct - name: local - - name: suppressed - name: proposal_trusted - name: validation_trusted - name: tx_type