summaryrefslogtreecommitdiffstats
path: root/library/cpp/actors/core/callstack.cpp
diff options
context:
space:
mode:
authorddoarn <[email protected]>2022-02-10 16:49:52 +0300
committerDaniil Cherednik <[email protected]>2022-02-10 16:49:52 +0300
commit0783fe3f48d91a3b741ce2ea32b11fbfc1637e7e (patch)
tree6d6a79d83e5003eaf4d45cac346113c1137cb886 /library/cpp/actors/core/callstack.cpp
parent9541fc30d6f0877db9ff199a16f7fc2505d46a5c (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.cpp128
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;
}
}
}