45 void pushScope(std::string_view subsystem, std::string_view operation) override;
51 [[nodiscard]] std::uint32_t
currentDepth() const noexcept override;
Abstract clock interface for simulation time.
Sink interface that receives structured trace events.
Tracer interface used by kernel subsystems.
std::uint32_t currentDepth() const noexcept override
Returns current tracing depth for this tracer.
~Tracer() override
Destroys tracer and owned sink.
Tracer & operator=(const Tracer &)=delete
Copy assignment is disabled.
Tracer(const Tracer &)=delete
Copy construction is disabled.
const IClock & clock() const noexcept override
Returns tracer clock reference.
void trace(const TraceEvent &event) override
Emits a pre-constructed trace event.
void setMinLevel(TraceLevel level) noexcept override
Sets minimum event level that will be emitted.
Tracer(Tracer &&) noexcept
Move-constructs tracer state.
void popScope() override
Leaves the current tracing scope.
Tracer(std::unique_ptr< ITraceSink > sink, const IClock &clock)
Constructs an active tracer.
TraceLevel minLevel() const noexcept override
Returns minimum event level that will be emitted.
std::unique_ptr< Impl > impl_
void pushScope(std::string_view subsystem, std::string_view operation) override
Enters a nested tracing scope.
Tracer interface for hierarchical event tracing.
TraceLevel
Trace event severity.
Structured trace event record.