mirror of
https://github.com/XRPLF/rippled.git
synced 2026-07-26 16:40:20 +00:00
fix(telemetry): restore injectCurrentContextToProtobuf decl; re-parent open/establish spans under round; correct childSpan names
Post-review fixes for the SpanGuard scope-leak change: - SpanGuard.h: restore the injectCurrentContextToProtobuf real-class declaration, its #else no-op stub, and the protocol::TraceContext forward-declaration dropped during the 3->4 union merge (compile break). - Re-parent consensus.phase.open and consensus.establish under the round span via a new RCLConsensus::Adaptor::roundSpanContext() accessor: the round span is now detached, so ambient parenting no longer works; the phase spans link explicitly to the captured round context. csf::Peer gains a matching no-op accessor so the generic engine still compiles. - Switch five childSpan(op::X, ctx) sites to the full consensus::span::X constants: childSpan(name, ctx) takes the name verbatim, so the suffix- only op:: constants emitted short, non-dotted span names. - TestTelemetry mock: add getConsensusTraceStrategy() override (base pure virtual introduced on this branch) so the mock is not abstract. - validate(): rewrite the trace_context comment to drop attack-surface framing and the PR-discussion reference. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -135,6 +135,17 @@ public:
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return A fixed strategy label; the scope tests do not exercise
|
||||
* deterministic trace-id correlation, so any stable value works.
|
||||
*/
|
||||
[[nodiscard]] std::string const&
|
||||
getConsensusTraceStrategy() const override
|
||||
{
|
||||
static std::string const kStrategy{"none"};
|
||||
return kStrategy;
|
||||
}
|
||||
|
||||
opentelemetry::nostd::shared_ptr<opentelemetry::trace::Tracer>
|
||||
getTracer(std::string_view name) override
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user