diff options
author | tpashkin <tpashkin@yandex-team.ru> | 2022-02-10 16:46:41 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:46:41 +0300 |
commit | 5475379a04e37df30085bd1724f1c57e3f40996f (patch) | |
tree | 95d77e29785a3bd5be6260b1c9d226a551376ecf /library/cpp/lwtrace/log_shuttle.cpp | |
parent | c3d34b9b40eb534dfd2c549342274f3d61844688 (diff) | |
download | ydb-5475379a04e37df30085bd1724f1c57e3f40996f.tar.gz |
Restoring authorship annotation for <tpashkin@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/lwtrace/log_shuttle.cpp')
-rw-r--r-- | library/cpp/lwtrace/log_shuttle.cpp | 108 |
1 files changed, 54 insertions, 54 deletions
diff --git a/library/cpp/lwtrace/log_shuttle.cpp b/library/cpp/lwtrace/log_shuttle.cpp index 695aa90b31..874f103697 100644 --- a/library/cpp/lwtrace/log_shuttle.cpp +++ b/library/cpp/lwtrace/log_shuttle.cpp @@ -1,67 +1,67 @@ #include "log_shuttle.h" -#include "probes.h" +#include "probes.h" namespace NLWTrace { - LWTRACE_USING(LWTRACE_INTERNAL_PROVIDER); - -#ifdef LWTRACE_DISABLE - - template <class TDepot> + LWTRACE_USING(LWTRACE_INTERNAL_PROVIDER); + +#ifdef LWTRACE_DISABLE + + template <class TDepot> bool TLogShuttle<TDepot>::DoFork(TShuttlePtr& child) { Y_UNUSED(child); - return false; - } - - template <class TDepot> + return false; + } + + template <class TDepot> bool TLogShuttle<TDepot>::DoJoin(const TShuttlePtr& child) { Y_UNUSED(child); - return false; - } - -#else - - template <class TDepot> + return false; + } + +#else + + template <class TDepot> bool TLogShuttle<TDepot>::DoFork(TShuttlePtr& child) { if (child = Executor->RentShuttle()) { child->SetParentSpanId(GetSpanId()); Executor->Cast(child)->SetIgnore(true); - TParams params; + TParams params; params.Param[0].CopyConstruct<ui64>(child->GetSpanId()); - bool result = DoAddProbe(&LWTRACE_GET_NAME(Fork).Probe, params, 0); - TUserSignature<ui64>::DestroyParams(params); - return result; - } - AtomicIncrement(ForkFailed); - return false; - } - - template <class TDepot> - bool TLogShuttle<TDepot>::DoJoin(const TShuttlePtr& shuttle) { - auto* child = Executor->Cast(shuttle); - TParams params; - params.Param[0].CopyConstruct<ui64>(child->GetSpanId()); - params.Param[1].CopyConstruct<ui64>(child->TrackLog.Items.size()); - bool result = DoAddProbe(&LWTRACE_GET_NAME(Join).Probe, params, 0); - TUserSignature<ui64, ui64>::DestroyParams(params); - if (result) { - with_lock (Lock) { - ssize_t n = MaxTrackLength - TrackLog.Items.size(); - for (auto& item: child->TrackLog.Items) { - if (n-- <= 0) { - TrackLog.Truncated = true; - break; - } - TrackLog.Items.emplace_back(item); - } - } - } - AtomicAdd(ForkFailed, AtomicGet(child->ForkFailed)); - Executor->ParkShuttle(child); - return result; - } - -#endif - - template class TLogShuttle<TDurationDepot>; - template class TLogShuttle<TCyclicDepot>; + bool result = DoAddProbe(&LWTRACE_GET_NAME(Fork).Probe, params, 0); + TUserSignature<ui64>::DestroyParams(params); + return result; + } + AtomicIncrement(ForkFailed); + return false; + } + + template <class TDepot> + bool TLogShuttle<TDepot>::DoJoin(const TShuttlePtr& shuttle) { + auto* child = Executor->Cast(shuttle); + TParams params; + params.Param[0].CopyConstruct<ui64>(child->GetSpanId()); + params.Param[1].CopyConstruct<ui64>(child->TrackLog.Items.size()); + bool result = DoAddProbe(&LWTRACE_GET_NAME(Join).Probe, params, 0); + TUserSignature<ui64, ui64>::DestroyParams(params); + if (result) { + with_lock (Lock) { + ssize_t n = MaxTrackLength - TrackLog.Items.size(); + for (auto& item: child->TrackLog.Items) { + if (n-- <= 0) { + TrackLog.Truncated = true; + break; + } + TrackLog.Items.emplace_back(item); + } + } + } + AtomicAdd(ForkFailed, AtomicGet(child->ForkFailed)); + Executor->ParkShuttle(child); + return result; + } + +#endif + + template class TLogShuttle<TDurationDepot>; + template class TLogShuttle<TCyclicDepot>; } |