![]() |
Contur 2
Educational OS kernel simulator
|
Active tracer implementation. More...
#include <tracer.h>
Public Member Functions | |
| Tracer (std::unique_ptr< ITraceSink > sink, const IClock &clock) | |
| Constructs an active tracer. | |
| ~Tracer () override | |
| Destroys tracer and owned sink. | |
| Tracer (const Tracer &)=delete | |
| Copy construction is disabled. | |
| Tracer & | operator= (const Tracer &)=delete |
| Copy assignment is disabled. | |
| Tracer (Tracer &&) noexcept | |
| Move-constructs tracer state. | |
| Tracer & | operator= (Tracer &&) noexcept |
| Move-assigns tracer state. | |
| void | trace (const TraceEvent &event) override |
| Emits a pre-constructed trace event. | |
| void | pushScope (std::string_view subsystem, std::string_view operation) override |
| Enters a nested tracing scope. | |
| void | popScope () override |
| Leaves the current tracing scope. | |
| std::uint32_t | currentDepth () const noexcept override |
| Returns current tracing depth for this tracer. | |
| void | setMinLevel (TraceLevel level) noexcept override |
| Sets minimum event level that will be emitted. | |
| TraceLevel | minLevel () const noexcept override |
| Returns minimum event level that will be emitted. | |
| const IClock & | clock () const noexcept override |
| Returns tracer clock reference. | |
| Public Member Functions inherited from contur::ITracer | |
| virtual | ~ITracer ()=default |
| Virtual destructor for polymorphic cleanup. | |
Private Attributes | |
| std::unique_ptr< Impl > | impl_ |
Active tracer implementation.
Tracer emits structured events to an injected sink and maintains hierarchical scope depth per calling thread.
|
explicit |
Constructs an active tracer.
| sink | Trace sink receiving emitted events. |
| clock | Simulation clock used for timestamping. |
References clock().
Referenced by operator=(), operator=(), Tracer(), and Tracer().
|
override |
Destroys tracer and owned sink.
|
delete |
Copy construction is disabled.
References Tracer().
|
noexcept |
Move-constructs tracer state.
References Tracer().
|
nodiscardoverridevirtualnoexcept |
Returns tracer clock reference.
Implements contur::ITracer.
References clock().
|
nodiscardoverridevirtualnoexcept |
Returns current tracing depth for this tracer.
Implements contur::ITracer.
References currentDepth().
Referenced by currentDepth().
|
nodiscardoverridevirtualnoexcept |
Returns minimum event level that will be emitted.
Implements contur::ITracer.
References minLevel().
Referenced by minLevel().
Copy assignment is disabled.
References Tracer().
Move-assigns tracer state.
References Tracer().
|
overridevirtual |
Leaves the current tracing scope.
Implements contur::ITracer.
References popScope().
Referenced by popScope().
|
overridevirtual |
Enters a nested tracing scope.
| subsystem | Subsystem name. |
| operation | Operation name. |
Implements contur::ITracer.
References pushScope().
Referenced by pushScope().
|
overridevirtualnoexcept |
Sets minimum event level that will be emitted.
| level | Minimum accepted level. |
Implements contur::ITracer.
References setMinLevel().
Referenced by setMinLevel().
|
overridevirtual |
Emits a pre-constructed trace event.
| event | Trace event to emit. |
Implements contur::ITracer.
References trace().
Referenced by trace().