diff options
author | arcadia-devtools <arcadia-devtools@yandex-team.ru> | 2022-06-22 15:26:41 +0300 |
---|---|---|
committer | arcadia-devtools <arcadia-devtools@yandex-team.ru> | 2022-06-22 15:26:41 +0300 |
commit | 03ae68528a1fca061195bac52f0484f6f54b2582 (patch) | |
tree | 4093239f0b89511e8ff2b29fabc76300f5ecd10a /library/cpp/actors/interconnect | |
parent | 250d29abfdc9a2526cac1e0b4b36c5b6e1d58e0c (diff) | |
download | ydb-03ae68528a1fca061195bac52f0484f6f54b2582.tar.gz |
intermediate changes
ref:e5b94b91d513ee8cc2d1610107a4e0b462b9c9db
Diffstat (limited to 'library/cpp/actors/interconnect')
-rw-r--r-- | library/cpp/actors/interconnect/interconnect_channel.cpp | 6 | ||||
-rw-r--r-- | library/cpp/actors/interconnect/interconnect_channel.h | 10 | ||||
-rw-r--r-- | library/cpp/actors/interconnect/packet.h | 9 |
3 files changed, 11 insertions, 14 deletions
diff --git a/library/cpp/actors/interconnect/interconnect_channel.cpp b/library/cpp/actors/interconnect/interconnect_channel.cpp index 32f015af54..f839741cb5 100644 --- a/library/cpp/actors/interconnect/interconnect_channel.cpp +++ b/library/cpp/actors/interconnect/interconnect_channel.cpp @@ -18,10 +18,8 @@ namespace NActors { return false; } - auto& span = *event.Span; - span.EndOk(); - const NWilson::TTraceId traceId(span); - event.Span.reset(); + const NWilson::TTraceId traceId(event.Span); + event.Span.EndOk(); LWTRACK(SerializeToPacketEnd, event.Orbit, PeerNodeId, ChannelId, OutputQueueSize, task.GetDataSize()); task.Orbit.Take(event.Orbit); diff --git a/library/cpp/actors/interconnect/interconnect_channel.h b/library/cpp/actors/interconnect/interconnect_channel.h index e48d294420..25e996ddca 100644 --- a/library/cpp/actors/interconnect/interconnect_channel.h +++ b/library/cpp/actors/interconnect/interconnect_channel.h @@ -59,13 +59,11 @@ namespace NActors { TEventHolder& event = Pool.Allocate(Queue); const ui32 bytes = event.Fill(ev) + (Params.UseExtendedTraceFmt ? sizeof(TEventDescr2) : sizeof(TEventDescr1)); OutputQueueSize += bytes; - event.Span.emplace(static_cast<ui8>(15) /*verbosity*/, NWilson::ERelation::ChildOf, - NWilson::TTraceId(ev.TraceId), now, "InInterconnectQueue"); - if (*event.Span) { - auto& span = *event.Span; - span + if (auto span = NWilson::TSpan(static_cast<ui8>(15) /*verbosity*/, NWilson::ERelation::ChildOf, + NWilson::TTraceId(ev.TraceId), now, "InInterconnectQueue")) { + event.Span = std::move(span .Attribute("OutputQueueItems", static_cast<i64>(Queue.size())) - .Attribute("OutputQueueSize", static_cast<i64>(OutputQueueSize)); + .Attribute("OutputQueueSize", static_cast<i64>(OutputQueueSize))); } return std::make_pair(bytes, &event); } diff --git a/library/cpp/actors/interconnect/packet.h b/library/cpp/actors/interconnect/packet.h index 3a6aadfb9f..9161e3af71 100644 --- a/library/cpp/actors/interconnect/packet.h +++ b/library/cpp/actors/interconnect/packet.h @@ -117,7 +117,7 @@ struct TEventHolder : TNonCopyable { ui32 EventSerializedSize; ui32 EventActuallySerialized; mutable NLWTrace::TOrbit Orbit; - std::optional<NWilson::TSpan> Span; + NWilson::TSpan Span; ui32 Fill(IEventHandle& ev); @@ -136,9 +136,10 @@ struct TEventHolder : TNonCopyable { const TActorId& r = d.Recipient; const TActorId& s = d.Sender; const TActorId *f = ForwardRecipient ? &ForwardRecipient : nullptr; + Span.EndError("nondelivery"); auto ev = Event - ? std::make_unique<IEventHandle>(r, s, Event.Release(), d.Flags, d.Cookie, f, NWilson::TTraceId(d.TraceId)) - : std::make_unique<IEventHandle>(d.Type, d.Flags, r, s, std::move(Buffer), d.Cookie, f, NWilson::TTraceId(d.TraceId)); + ? std::make_unique<IEventHandle>(r, s, Event.Release(), d.Flags, d.Cookie, f, Span) + : std::make_unique<IEventHandle>(d.Type, d.Flags, r, s, std::move(Buffer), d.Cookie, f, Span); NActors::TActivationContext::Send(ev->ForwardOnNondelivery(NActors::TEvents::TEvUndelivered::Disconnected, unsure)); } @@ -146,7 +147,7 @@ struct TEventHolder : TNonCopyable { Event.Reset(); Buffer.Reset(); Orbit.Reset(); - Span.reset(); + Span = {}; } }; |