diff --git a/OpenTelemetryPlan/Phase2_taskList.md b/OpenTelemetryPlan/Phase2_taskList.md index 47f3d4b408..939c59efbe 100644 --- a/OpenTelemetryPlan/Phase2_taskList.md +++ b/OpenTelemetryPlan/Phase2_taskList.md @@ -179,7 +179,7 @@ > > **Downstream**: Phase 7 (MetricsRegistry uses these attributes for alerting context), Phase 10 (validation checks for these attributes). -**Objective**: Add node-level health state to every `rpc.command.*` span so operators can correlate RPC behavior with node state in Jaeger/Tempo. +**Objective**: Add node-level health state to every `rpc.command.*` span so operators can correlate RPC behavior with node state in Tempo. **What to do**: @@ -195,7 +195,7 @@ | `xrpl.node.amendment_blocked` | bool | `context.app.getOPs().isAmendmentBlocked()` | `true` | | `xrpl.node.server_state` | string | `context.app.getOPs().strOperatingMode()` | `"full"` | -**Rationale**: When a node is amendment-blocked or in a degraded state, every RPC response is suspect. Tagging spans with this state enables Jaeger queries like: +**Rationale**: When a node is amendment-blocked or in a degraded state, every RPC response is suspect. Tagging spans with this state enables Tempo TraceQL queries like: ``` {name=~"rpc.command.*"} | xrpl.node.amendment_blocked = true @@ -211,7 +211,7 @@ This surfaces all RPCs served during a blocked period — critical for post-inci - [ ] `rpc.command.server_info` spans carry `xrpl.node.amendment_blocked` and `xrpl.node.server_state` attributes - [ ] No measurable latency impact (attribute values are cached atomics, not computed per-call) -- [ ] Attributes appear in Jaeger span detail view +- [ ] Attributes appear in Tempo trace detail view --- diff --git a/OpenTelemetryPlan/Phase3_taskList.md b/OpenTelemetryPlan/Phase3_taskList.md index 18af7fff26..09bc8f975c 100644 --- a/OpenTelemetryPlan/Phase3_taskList.md +++ b/OpenTelemetryPlan/Phase3_taskList.md @@ -175,7 +175,7 @@ - Test context propagation: - Manually verify with 2+ node setup that trace IDs match across nodes - - Confirm parent-child span relationships are correct in Jaeger + - Confirm parent-child span relationships are correct in Tempo - Handle edge cases: - Missing trace context (older peers): create new root span diff --git a/OpenTelemetryPlan/Phase5_taskList.md b/OpenTelemetryPlan/Phase5_taskList.md index 1447cf2dd1..644c842e40 100644 --- a/OpenTelemetryPlan/Phase5_taskList.md +++ b/OpenTelemetryPlan/Phase5_taskList.md @@ -10,7 +10,7 @@ | Document | Relevance | | ---------------------------------------------------------------- | -------------------------------------------------------------------------- | -| [07-observability-backends.md](./07-observability-backends.md) | Jaeger setup (§7.1), Grafana dashboards (§7.6), alerts (§7.6.3) | +| [07-observability-backends.md](./07-observability-backends.md) | Tempo setup (§7.1), Grafana dashboards (§7.6), alerts (§7.6.3) | | [05-configuration-reference.md](./05-configuration-reference.md) | Collector config (§5.5), production config (§5.5.2), Docker Compose (§5.6) | | [06-implementation-phases.md](./06-implementation-phases.md) | Phase 5 tasks (§6.6), definition of done (§6.11.5) | @@ -49,7 +49,7 @@ traces: receivers: [otlp] processors: [batch] - exporters: [debug, otlp/jaeger, spanmetrics] + exporters: [debug, otlp/tempo, spanmetrics] metrics: receivers: [spanmetrics] exporters: [prometheus] @@ -198,10 +198,10 @@ **What to do**: -1. Start full Docker stack (Collector, Jaeger, Grafana, Prometheus) +1. Start full Docker stack (Collector, Tempo, Grafana, Prometheus) 2. Build rippled with `telemetry=ON` 3. Run in standalone mode with telemetry enabled -4. Generate RPC traffic and verify traces in Jaeger +4. Generate RPC traffic and verify traces in Tempo 5. Verify dashboards populate in Grafana 6. Verify alerts trigger correctly 7. Test telemetry OFF path (no regressions) @@ -210,7 +210,7 @@ **Verification Checklist**: - [ ] Docker stack starts without errors -- [ ] Traces appear in Jaeger with correct hierarchy +- [ ] Traces appear in Tempo with correct hierarchy - [ ] Grafana dashboards show metrics derived from spans - [ ] Prometheus scrapes spanmetrics successfully - [ ] Alerts can be triggered by simulated conditions