diff --git a/src/xrpld/app/misc/NetworkOPs.cpp b/src/xrpld/app/misc/NetworkOPs.cpp index f14e9c51a7..54733cf3e0 100644 --- a/src/xrpld/app/misc/NetworkOPs.cpp +++ b/src/xrpld/app/misc/NetworkOPs.cpp @@ -1624,8 +1624,7 @@ NetworkOPsImp::apply(std::unique_lock& batchLock) // Non-owning: the span is still owned/ended by e.span. Scoped to // one loop iteration, so each tx's span is ambient only for its // own processing. No yield in this loop. - auto txActivation = - (e.span && *e.span) ? e.span->activate() : telemetry::ScopedActivation{}; + auto txActivation = telemetry::activateIfLive(e.span); if (e.span && *e.span) { diff --git a/src/xrpld/overlay/detail/PeerImp.cpp b/src/xrpld/overlay/detail/PeerImp.cpp index c2ad6d49f1..0ff824e0bc 100644 --- a/src/xrpld/overlay/detail/PeerImp.cpp +++ b/src/xrpld/overlay/detail/PeerImp.cpp @@ -1436,7 +1436,7 @@ PeerImp::handleTransaction( // Activate the tx.receive span so checkTransaction's log // lines carry its trace_id. Non-owning; sp still owns/ends // the span. This job body runs to completion on one worker. - auto activation = (sp && *sp) ? sp->activate() : telemetry::ScopedActivation{}; + auto activation = telemetry::activateIfLive(sp); if (auto peer = weak.lock()) peer->checkTransaction(flags, checkSignature, stx, batch); });