Shared/Core/ITraceSink.h file

Interface Death::ITraceSink.

Namespaces

namespace Death
Shared root namespace.
namespace Death::Trace
Runtime event tracing implementation, should be used along with Asserts.h.

Classes

class Death::ITraceSink
Interface for sink to be used by logger writing to it.

Functions

void AttachSink(ITraceSink* sink)
Registers the sink and initializes the event logger if no sink was attached before.
void RemoveSink(ITraceSink* sink)
Unregisters the sink and uninitializes the event logger if no sink left.
void Flush() noexcept
Waits until all prior entries are written to all sinks.
void InitializeBacktrace(std::uint32_t maxCapacity, TraceLevel flushLevel = TraceLevel::Unknown)
Initializes the backtrace storage for entries logged with TraceLevel::Deferred.
void FlushBacktraceAsync() noexcept
Writes any deferred entries stored in the backtrace storage to all sinks asynchronously.
void ShrinkThreadLocalQueue(std::size_t capacity) noexcept
Shrinks the thread-local queue to the specified target capacity.
auto GetThreadLocalQueueCapacity() -> std::size_t noexcept
Returns the current capacity of the thread-local queue.