Contur 2
Educational OS kernel simulator
Loading...
Searching...
No Matches
contur::ITracer Class Referenceabstract

Tracer interface used by kernel subsystems. More...

#include <i_tracer.h>

Inheritance diagram for contur::ITracer:

Public Member Functions

virtual ~ITracer ()=default
 Virtual destructor for polymorphic cleanup.
virtual void trace (const TraceEvent &event)=0
 Emits a pre-constructed trace event.
virtual void pushScope (std::string_view subsystem, std::string_view operation)=0
 Enters a nested tracing scope.
virtual void popScope ()=0
 Leaves the current tracing scope.
virtual std::uint32_t currentDepth () const noexcept=0
 Returns current tracing depth for this tracer.
virtual void setMinLevel (TraceLevel level) noexcept=0
 Sets minimum event level that will be emitted.
virtual TraceLevel minLevel () const noexcept=0
 Returns minimum event level that will be emitted.
virtual const IClockclock () const noexcept=0
 Returns tracer clock reference.

Detailed Description

Tracer interface used by kernel subsystems.

Definition at line 16 of file i_tracer.h.

Constructor & Destructor Documentation

◆ ~ITracer()

virtual contur::ITracer::~ITracer ( )
virtualdefault

Virtual destructor for polymorphic cleanup.

Member Function Documentation

◆ clock()

virtual const IClock & contur::ITracer::clock ( ) const
nodiscardpure virtualnoexcept

Returns tracer clock reference.

Returns
Clock used for timestamping events.

Implemented in contur::NullTracer, and contur::Tracer.

References clock().

Referenced by clock().

◆ currentDepth()

virtual std::uint32_t contur::ITracer::currentDepth ( ) const
nodiscardpure virtualnoexcept

Returns current tracing depth for this tracer.

Returns
Current scope depth.

Implemented in contur::NullTracer, and contur::Tracer.

◆ minLevel()

virtual TraceLevel contur::ITracer::minLevel ( ) const
nodiscardpure virtualnoexcept

Returns minimum event level that will be emitted.

Implemented in contur::NullTracer, and contur::Tracer.

References minLevel().

Referenced by minLevel().

◆ popScope()

virtual void contur::ITracer::popScope ( )
pure virtual

Leaves the current tracing scope.

Implemented in contur::NullTracer, and contur::Tracer.

◆ pushScope()

virtual void contur::ITracer::pushScope ( std::string_view subsystem,
std::string_view operation )
pure virtual

Enters a nested tracing scope.

Parameters
subsystemSubsystem name.
operationOperation name.

Implemented in contur::NullTracer, and contur::Tracer.

◆ setMinLevel()

virtual void contur::ITracer::setMinLevel ( TraceLevel level)
pure virtualnoexcept

Sets minimum event level that will be emitted.

Parameters
levelMinimum accepted level.

Implemented in contur::NullTracer, and contur::Tracer.

References setMinLevel().

Referenced by setMinLevel().

◆ trace()

virtual void contur::ITracer::trace ( const TraceEvent & event)
pure virtual

Emits a pre-constructed trace event.

Parameters
eventTrace event to emit.

Implemented in contur::NullTracer, and contur::Tracer.


The documentation for this class was generated from the following file: