mirror of
https://github.com/XRPLF/rippled.git
synced 2026-08-22 06:40:53 +00:00
fix(telemetry): use resolved command/method name as span suffix
Per PR #6438 review thread r3250432621: known-command errors (rpcTOO_BUSY, rpcNO_PERMISSION, etc.) were collapsing into a single rpc.command.unknown span name, hiding per-command error rates in dashboards. Same anti-pattern existed for gRPC, where every method was bucketed under grpc.request with the method relegated to an attribute. - RPCHandler.cpp: doCommand error path uses cmdName as the span suffix; the rpc_span::val::unknownCommand fallback only applies when the request truly omits both command and method fields. - GRPCServer.cpp: gRPC span name is now grpc.<MethodName> (e.g. grpc.GetLedger). Method also retained as an attribute. - GrpcSpanNames.h: drop the unused op::request constant; update the span-hierarchy comment. - RpcSpanNames.h: update the gRPC span diagram to match. Dashboards on downstream phases will benefit from per-command breakdowns without needing TraceQL attribute filters. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -169,8 +169,7 @@ void
|
||||
GRPCServerImpl::CallData<Request, Response>::process(std::shared_ptr<JobQueue::Coro> coro)
|
||||
{
|
||||
using namespace telemetry;
|
||||
auto span =
|
||||
SpanGuard::span(TraceCategory::Rpc, grpc_span::prefix::grpc, grpc_span::op::request);
|
||||
auto span = SpanGuard::span(TraceCategory::Rpc, grpc_span::prefix::grpc, name_);
|
||||
span.setAttribute(grpc_span::attr::method, name_);
|
||||
|
||||
try
|
||||
|
||||
Reference in New Issue
Block a user