Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-phase6-statsd

# Conflicts:
#	OpenTelemetryPlan/Phase3_taskList.md
#	docker/telemetry/grafana/provisioning/datasources/tempo.yaml
#	docs/telemetry-runbook.md
#	include/xrpl/proto/xrpl.proto
#	src/xrpld/app/consensus/RCLConsensus.cpp
#	src/xrpld/app/misc/detail/TxQ.cpp
This commit is contained in:
Pratik Mankawde
2026-04-29 17:38:03 +01:00
6 changed files with 16 additions and 16 deletions

View File

@@ -118,6 +118,7 @@ words:
- gpgcheck
- gpgkey
- hotwallet
- hicpp
- hwaddress
- hwrap
- ifndef

View File

@@ -399,7 +399,7 @@ Requires `trace_peer=1` in the `[telemetry]` config section.
| Proposals Trusted vs Untrusted | piechart | by `xrpl_peer_proposal_trusted` | `xrpl_peer_proposal_trusted` |
| Validations Trusted vs Untrusted | piechart | by `xrpl_peer_validation_trusted` | `xrpl_peer_validation_trusted` |
### Node Health StatsD (`xrpld-statsd-node-health`)
### Node Health -- StatsD (`xrpld-statsd-node-health`)
| Panel | Type | PromQL | Labels Used |
| -------------------------------------- | ---------- | ----------------------------------------------------------------- | ----------- |
@@ -420,7 +420,7 @@ Requires `trace_peer=1` in the `[telemetry]` config section.
| All Jobs Execution Time (Detail) | timeseries | `{__name__=~"rippled_<all_jobs>", quantile="$quantile"}` | `quantile` |
| All Jobs Dequeue Wait (Detail) | timeseries | `{__name__=~"rippled_<all_jobs>_q", quantile="$quantile"}` | `quantile` |
### Network Traffic StatsD (`xrpld-statsd-network`)
### Network Traffic -- StatsD (`xrpld-statsd-network`)
| Panel | Type | PromQL | Labels Used |
| ------------------------------------ | ---------- | -------------------------------------------- | ----------- |
@@ -435,7 +435,7 @@ Requires `trace_peer=1` in the `[telemetry]` config section.
| Duplicate Traffic (Wasted Bandwidth) | timeseries | `rate(rippled_*_duplicate_Bytes_In/Out[5m])` | — |
| All Traffic Categories (Detail) | timeseries | `topk(15, rate(rippled_*_Bytes_In[5m]))` | — |
### RPC & Pathfinding StatsD (`xrpld-statsd-rpc`)
### RPC & Pathfinding -- StatsD (`xrpld-statsd-rpc`)
| Panel | Type | PromQL | Labels Used |
| ------------------------- | ---------- | -------------------------------------------------------- | ----------- |

View File

@@ -63,6 +63,7 @@
#include <xrpl/shamap/SHAMapItem.h>
#include <xrpl/shamap/SHAMapMissingNode.h>
#include <xrpl/shamap/SHAMapTreeNode.h>
#include <xrpl/telemetry/Telemetry.h>
#include <xrpl/telemetry/TraceContextPropagator.h>
#include <boost/smart_ptr/intrusive_ptr.hpp>

View File

@@ -532,7 +532,7 @@ TxQ::tryClearAccountQueueUpThruTx(
beast::Journal j)
{
using namespace telemetry;
auto span = SpanGuard::span(
[[maybe_unused]] auto span = SpanGuard::span(
TraceCategory::Transactions, txq_span::prefix::txq, txq_span::op::batchClear);
SeqProxy const tSeqProx{tx.getSeqProxy()};
@@ -1681,7 +1681,7 @@ TxQ::tryDirectApply(
beast::Journal j)
{
using namespace telemetry;
auto span = SpanGuard::span(
[[maybe_unused]] auto span = SpanGuard::span(
TraceCategory::Transactions, txq_span::prefix::txq, txq_span::op::applyDirect);
auto const account = (*tx)[sfAccount];

View File

@@ -17,15 +17,16 @@
#include <xrpl/protocol/ErrorCodes.h>
#include <xrpl/protocol/jss.h>
#include <xrpl/resource/Fees.h>
#include <xrpl/server/InfoSub.h>
#include <xrpl/server/NetworkOPs.h>
#include <xrpl/telemetry/SpanGuard.h>
#include <xrpl/telemetry/SpanNames.h>
#include <atomic>
#include <chrono>
#include <cstdint>
#include <exception>
#include <string>
#include <string_view>
namespace xrpl {
using namespace telemetry;
@@ -214,10 +215,11 @@ doCommand(RPC::JsonContext& context, Json::Value& result)
Handler const* handler = nullptr;
if (auto error = fillHandler(context, handler))
{
std::string const cmdName = context.params.isMember(jss::command)
? context.params[jss::command].asString()
: context.params.isMember(jss::method) ? context.params[jss::method].asString()
: "unknown";
std::string cmdName = "unknown";
if (context.params.isMember(jss::command))
cmdName = context.params[jss::command].asString();
else if (context.params.isMember(jss::method))
cmdName = context.params[jss::method].asString();
auto span = SpanGuard::span(
TraceCategory::Rpc, rpc_span::prefix::command, rpc_span::val::unknownCommand);
span.setAttribute(rpc_span::attr::command, cmdName.c_str());

View File

@@ -20,9 +20,7 @@
#include <xrpl/telemetry/SpanNames.h>
namespace xrpl {
namespace telemetry {
namespace rpc_span {
namespace xrpl::telemetry::rpc_span {
// ===== Span prefixes =======================================================
@@ -69,6 +67,4 @@ inline constexpr auto user = makeStr("user");
inline constexpr auto unknownCommand = makeStr("unknown_command");
} // namespace val
} // namespace rpc_span
} // namespace telemetry
} // namespace xrpl
} // namespace xrpl::telemetry::rpc_span