diff options
| author | ddoarn <[email protected]> | 2022-02-10 16:49:52 +0300 |
|---|---|---|
| committer | Daniil Cherednik <[email protected]> | 2022-02-10 16:49:52 +0300 |
| commit | 0783fe3f48d91a3b741ce2ea32b11fbfc1637e7e (patch) | |
| tree | 6d6a79d83e5003eaf4d45cac346113c1137cb886 /library/cpp/actors/core/callstack.cpp | |
| parent | 9541fc30d6f0877db9ff199a16f7fc2505d46a5c (diff) | |
Restoring authorship annotation for <[email protected]>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/actors/core/callstack.cpp')
| -rw-r--r-- | library/cpp/actors/core/callstack.cpp | 128 |
1 files changed, 64 insertions, 64 deletions
diff --git a/library/cpp/actors/core/callstack.cpp b/library/cpp/actors/core/callstack.cpp index 9297c1a079e..8a3b1df4060 100644 --- a/library/cpp/actors/core/callstack.cpp +++ b/library/cpp/actors/core/callstack.cpp @@ -4,88 +4,88 @@ #ifdef USE_ACTOR_CALLSTACK namespace NActors { - namespace { + namespace { void (*PreviousFormatBackTrace)(IOutputStream*) = 0; - ui32 ActorBackTraceEnableCounter = 0; + ui32 ActorBackTraceEnableCounter = 0; } void ActorFormatBackTrace(IOutputStream* out) { - TStringStream str; - PreviousFormatBackTrace(&str); - str << Endl; - TCallstack::DumpCallstack(str); - *out << str.Str(); - } + TStringStream str; + PreviousFormatBackTrace(&str); + str << Endl; + TCallstack::DumpCallstack(str); + *out << str.Str(); + } - void EnableActorCallstack() { - if (ActorBackTraceEnableCounter == 0) { - Y_VERIFY(PreviousFormatBackTrace == 0); - PreviousFormatBackTrace = SetFormatBackTraceFn(ActorFormatBackTrace); - } + void EnableActorCallstack() { + if (ActorBackTraceEnableCounter == 0) { + Y_VERIFY(PreviousFormatBackTrace == 0); + PreviousFormatBackTrace = SetFormatBackTraceFn(ActorFormatBackTrace); + } - ++ActorBackTraceEnableCounter; + ++ActorBackTraceEnableCounter; } - void DisableActorCallstack() { - --ActorBackTraceEnableCounter; + void DisableActorCallstack() { + --ActorBackTraceEnableCounter; - if (ActorBackTraceEnableCounter == 0) { - Y_VERIFY(PreviousFormatBackTrace); - SetFormatBackTraceFn(PreviousFormatBackTrace); - PreviousFormatBackTrace = 0; - } - } + if (ActorBackTraceEnableCounter == 0) { + Y_VERIFY(PreviousFormatBackTrace); + SetFormatBackTraceFn(PreviousFormatBackTrace); + PreviousFormatBackTrace = 0; + } + } - TCallstack::TCallstack() - : BeginIdx(0) - , Size(0) - , LinesToSkip(0) - { + TCallstack::TCallstack() + : BeginIdx(0) + , Size(0) + , LinesToSkip(0) + { } - void TCallstack::SetLinesToSkip() { - TTrace record; - LinesToSkip = BackTrace(record.Data, TTrace::CAPACITY); - } + void TCallstack::SetLinesToSkip() { + TTrace record; + LinesToSkip = BackTrace(record.Data, TTrace::CAPACITY); + } - void TCallstack::Trace() { - size_t currentIdx = (BeginIdx + Size) % RECORDS; - if (Size == RECORDS) { - ++BeginIdx; - } else { - ++Size; - } - TTrace& record = Record[currentIdx]; - record.Size = BackTrace(record.Data, TTrace::CAPACITY); - record.LinesToSkip = LinesToSkip; - } + void TCallstack::Trace() { + size_t currentIdx = (BeginIdx + Size) % RECORDS; + if (Size == RECORDS) { + ++BeginIdx; + } else { + ++Size; + } + TTrace& record = Record[currentIdx]; + record.Size = BackTrace(record.Data, TTrace::CAPACITY); + record.LinesToSkip = LinesToSkip; + } - void TCallstack::TraceIfEmpty() { - if (Size == 0) { - LinesToSkip = 0; - Trace(); - } + void TCallstack::TraceIfEmpty() { + if (Size == 0) { + LinesToSkip = 0; + Trace(); + } } - TCallstack& TCallstack::GetTlsCallstack() { - return *FastTlsSingleton<TCallstack>(); + TCallstack& TCallstack::GetTlsCallstack() { + return *FastTlsSingleton<TCallstack>(); } - void TCallstack::DumpCallstack(TStringStream& str) { - TCallstack& callstack = GetTlsCallstack(); - for (int i = callstack.Size - 1; i >= 0; --i) { - TTrace& record = callstack.Record[(callstack.BeginIdx + i) % RECORDS]; - str << Endl << "Trace entry " << i << Endl << Endl; - size_t size = record.Size; - if (size > record.LinesToSkip && size < TTrace::CAPACITY) { - size -= record.LinesToSkip; - } - if (size > RECORDS_TO_SKIP) { - FormatBackTrace(&str, &record.Data[RECORDS_TO_SKIP], size - RECORDS_TO_SKIP); - } else { - FormatBackTrace(&str, record.Data, size); - } - str << Endl; + void TCallstack::DumpCallstack(TStringStream& str) { + TCallstack& callstack = GetTlsCallstack(); + for (int i = callstack.Size - 1; i >= 0; --i) { + TTrace& record = callstack.Record[(callstack.BeginIdx + i) % RECORDS]; + str << Endl << "Trace entry " << i << Endl << Endl; + size_t size = record.Size; + if (size > record.LinesToSkip && size < TTrace::CAPACITY) { + size -= record.LinesToSkip; + } + if (size > RECORDS_TO_SKIP) { + FormatBackTrace(&str, &record.Data[RECORDS_TO_SKIP], size - RECORDS_TO_SKIP); + } else { + FormatBackTrace(&str, record.Data, size); + } + str << Endl; } } } |
