From 21b58a888589e756bd4860bcbee31efd34a08027 Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Mon, 20 Apr 2026 15:02:35 +0100 Subject: [PATCH] feat(telemetry): add node health attributes to RPC spans (Task 2.8) Add amendment_blocked and server_state span attributes to every rpc.command.* span so operators can correlate RPC behavior with node state. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/xrpld/rpc/detail/RPCHandler.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/xrpld/rpc/detail/RPCHandler.cpp b/src/xrpld/rpc/detail/RPCHandler.cpp index ff1a8a1054..6dc5b6922d 100644 --- a/src/xrpld/rpc/detail/RPCHandler.cpp +++ b/src/xrpld/rpc/detail/RPCHandler.cpp @@ -170,6 +170,8 @@ callMethod(JsonContext& context, Method method, std::string const& name, Object& rpc_span::attr::role, context.role == Role::ADMIN ? std::string_view(rpc_span::val::admin) : std::string_view(rpc_span::val::user)); + span.setAttribute("xrpl.node.amendment_blocked", context.app.getOPs().isAmendmentBlocked()); + span.setAttribute("xrpl.node.server_state", context.app.getOPs().strOperatingMode().c_str()); static std::atomic requestId{0}; auto& perfLog = context.app.getPerfLog();