Phase 3: Transaction tracing — protobuf context, PeerImp, NetworkOPs#6425
Draft
pratikmankawde wants to merge 1 commit intopratik/otel-phase2-rpc-tracingfrom
Draft
Phase 3: Transaction tracing — protobuf context, PeerImp, NetworkOPs#6425pratikmankawde wants to merge 1 commit intopratik/otel-phase2-rpc-tracingfrom
pratikmankawde wants to merge 1 commit intopratik/otel-phase2-rpc-tracingfrom
Conversation
04ddafd to
9d7d59a
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## pratik/otel-phase2-rpc-tracing #6425 +/- ##
================================================================
- Coverage 79.8% 79.7% -0.0%
================================================================
Files 850 851 +1
Lines 67903 67941 +38
Branches 7578 7587 +9
================================================================
+ Hits 54154 54180 +26
- Misses 13749 13761 +12
🚀 New features to boost your workflow:
|
751792d to
1a25348
Compare
This was referenced Feb 26, 2026
ce08aa6 to
a288887
Compare
1a25348 to
b4d7297
Compare
a288887 to
761af61
Compare
b4d7297 to
587d312
Compare
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
761af61 to
051a219
Compare
587d312 to
f504d9b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
High Level Overview of Change
Add distributed tracing for transaction processing with cross-node trace context propagation. Extends the protobuf schema with a
TraceContextmessage, instrumentsPeerImp::handleTransaction()andNetworkOPsImp::processTransaction()with trace spans, and provides aTraceContextPropagatorutility for serializing W3C trace context over the peer protocol.Context of Change
Phase 3 of the OpenTelemetry distributed tracing project. Transactions flow across nodes via the peer protocol, so tracing them requires propagating context across process boundaries. The approach uses protobuf extension fields (field number 1001) to carry trace IDs without breaking backward compatibility. The
TraceContextmessage carriestrace_id,span_id,trace_flags, andtrace_state— matching the W3C Trace Context standard.The
TraceContextPropagator.hheader providesextractFromProtobuf()andinjectToProtobuf()helpers that are conditionally compiled behindXRPL_ENABLE_TELEMETRY.Design doc:
OpenTelemetryPlan/directory in this repo.Type of Change
API Impact
libxrplchange (any change that may affectlibxrplor dependents oflibxrpl)Before / After
Peer protocol messages (
TMTransaction,TMProposeSet,TMValidation) gain an optionaltrace_contextfield at number 1001. Nodes without telemetry ignore this field — full backward compatibility.Test Plan
telemetry=ONand verify xrpld links.tx.receive→tx.processspans in Jaeger with correct parent-child relationship.Future Tasks