diff --git a/OpenTelemetryPlan/03-implementation-strategy.md b/OpenTelemetryPlan/03-implementation-strategy.md index 922d3d4999..f11af7a929 100644 --- a/OpenTelemetryPlan/03-implementation-strategy.md +++ b/OpenTelemetryPlan/03-implementation-strategy.md @@ -335,78 +335,6 @@ Instrumentation is gated on two levels. A compile-time feature flag (`XRPL_ENABL This section provides a detailed assessment of how intrusive the OpenTelemetry integration is to the existing xrpld codebase. -### 3.9.1 Files Modified Summary - -| Component | Files Modified | Architectural Impact | -| --------------------- | -------------- | -------------------- | -| **Core Telemetry** | 10 new files | None (new module) | -| **Application Init** | 2 files | Minimal | -| **RPC Layer** | 3 files | Minimal | -| **Transaction Relay** | 4 files | Low | -| **Consensus** | 3 files | Low-Medium | -| **Protocol Buffers** | 1 file | Low | -| **CMake/Build** | 3 files | Minimal | -| **PathFinding** | 2 | Minimal | -| **TxQ/Fee** | 2 | Minimal | -| **Validator/Amend** | 3 | Minimal | -| **Total** | **~33 files** | **Low** | - -### 3.9.2 Detailed File Impact - -```mermaid -pie title Code Changes by Component - "New Telemetry Module" : 800 - "Transaction Relay" : 160 - "Consensus" : 130 - "RPC Layer" : 100 - "PathFinding" : 80 - "TxQ/Fee" : 60 - "Validator/Amendment" : 40 - "Application Init" : 35 - "Protocol Buffers" : 25 - "Build System" : 60 -``` - -#### New Files (No Impact on Existing Code) - -| File | Purpose | -| ------------------------------------------- | ------------------------- | -| `include/xrpl/telemetry/Telemetry.h` | Main interface | -| `include/xrpl/telemetry/TelemetryConfig.h` | Configuration structures | -| `include/xrpl/telemetry/TraceContext.h` | Context propagation | -| `include/xrpl/telemetry/SpanGuard.h` | RAII wrapper | -| `include/xrpl/telemetry/DiscardFlag.h` | Thread-local discard flag | -| `include/xrpl/telemetry/SpanAttributes.h` | Attribute helpers | -| `src/libxrpl/telemetry/Telemetry.cpp` | Implementation | -| `src/libxrpl/telemetry/TelemetryConfig.cpp` | Config parsing | -| `src/libxrpl/telemetry/TraceContext.cpp` | Context serialization | -| `src/libxrpl/telemetry/NullTelemetry.cpp` | No-op implementation | - -#### Modified Files (Existing Xrpld Code) - -| File | Risk Level | -| ------------------------------------------------- | ---------- | -| `src/xrpld/app/main/Application.cpp` | Low | -| `include/xrpl/core/ServiceRegistry.h` | Low | -| `src/xrpld/rpc/detail/ServerHandler.cpp` | Low | -| `src/xrpld/rpc/handlers/*.cpp` | Low | -| `src/xrpld/overlay/detail/PeerImp.cpp` | Medium | -| `src/xrpld/overlay/detail/OverlayImpl.cpp` | Medium | -| `src/xrpld/app/consensus/RCLConsensus.cpp` | Medium | -| `src/xrpld/app/consensus/RCLConsensusAdaptor.cpp` | Medium | -| `src/xrpld/core/JobQueue.cpp` | Low | -| `src/xrpld/app/paths/PathRequest.cpp` | Low | -| `src/xrpld/app/paths/Pathfinder.cpp` | Low | -| `src/xrpld/app/misc/TxQ.cpp` | Low | -| `src/xrpld/app/main/LoadManager.cpp` | Low | -| `src/xrpld/app/misc/ValidatorList.cpp` | Low | -| `src/xrpld/app/misc/AmendmentTable.cpp` | Low | -| `src/xrpld/app/misc/Manifest.cpp` | Low | -| `src/xrpld/shamap/SHAMap.cpp` | Low | -| `src/xrpld/overlay/detail/ripple.proto` | Low | -| `CMakeLists.txt` | Low | -| `cmake/FindOpenTelemetry.cmake` | None (new) | - ### 3.9.3 Risk Assessment by Component