Combined Flight Recorder and Latency Tracker Profiler. Records historical event traces into a circular in-memory buffer with zero heap allocations.
More...
|
| double | averageExecutionDurationUs () const noexcept |
| | Average handler execution duration in microseconds.
|
| |
| double | averageQueueLatencyUs () const noexcept |
| | Average queue latency in microseconds.
|
| |
| void | disable () noexcept |
| | Disable runtime profiling.
|
| |
| void | enable () noexcept |
| | Enable runtime profiling.
|
| |
| void | exportChromeTracingJson (std::ostream &os) const |
| | Export flight recorder traces to Chrome Tracing JSON.
|
| |
| const FlightRecorder< BufferCapacity > & | flightRecorder () const noexcept |
| | Access reference to underlying circular flight recorder.
|
| |
| | FlightRecorderProfiler ()=default |
| |
| bool | isEnabled () const noexcept |
| | Check if runtime profiling is enabled.
|
| |
| double | maxExecutionDurationUs () const noexcept |
| | Maximum handler execution duration in microseconds.
|
| |
| double | maxQueueLatencyUs () const noexcept |
| | Maximum queue latency in microseconds.
|
| |
| double | minQueueLatencyUs () const noexcept |
| | Minimum queue latency in microseconds.
|
| |
| template<typename EventVariant > |
| void | onEventDispatched (const EventVariant &event, uint8_t priority, uint64_t postTimeNs, uint64_t dispatchTimeNs, uint64_t finishTimeNs) noexcept |
| |
| template<typename EventVariant > |
| void | onEventPosted (const EventVariant &, uint8_t) noexcept |
| |
| void | recordPostTime (uint64_t postNs) noexcept |
| | Record the wall-clock post timestamp for the event being pushed now. Called by EventBus::post() immediately after the event enters the queue.
|
| |
| void | resetStats () noexcept |
| | Reset all accumulated statistics.
|
| |
| void | setEnabled (bool enabled) noexcept |
| | Enable or disable runtime latency profiling.
|
| |
| uint64_t | takePostTime () noexcept |
| | Pop and return the oldest post timestamp (called at dispatch time by EventBus).
|
| |
| uint64_t | totalDispatched () const noexcept |
| | Total count of dispatched events.
|
| |
| uint64_t | totalPosted () const noexcept |
| | Total count of posted events.
|
| |
template<std::size_t BufferCapacity = 256, std::size_t QueueCapacity = 1024>
class corium::profiler::FlightRecorderProfiler< BufferCapacity, QueueCapacity >
Combined Flight Recorder and Latency Tracker Profiler. Records historical event traces into a circular in-memory buffer with zero heap allocations.
- Template Parameters
-
| BufferCapacity | Capacity of circular flight recorder (power of 2, e.g. 128, 256, 1024). |
| QueueCapacity | Capacity of the parallel post-timestamp ring buffer (should match the event queue capacity for accurate latency measurement; default 1024). |