Zero-heap circular flight recorder storing the last N event telemetry records. Thread-safe for multiple producers and concurrent reader/dumping.
More...
#include <FlightRecorder.hpp>
|
| constexpr std::size_t | capacity () const noexcept |
| | Get buffer capacity.
|
| |
| void | exportChromeTracingJson (std::ostream &os) const |
| | Export recorded flight logs in Chrome Tracing JSON format (supported by chrome://tracing and Perfetto UI).
|
| |
| | FlightRecorder ()=default |
| |
| template<typename Callback > |
| void | forEach (Callback &&cb) const |
| | Iterate through available historical records in chronological order.
|
| |
| void | record (std::size_t eventTypeId, const char *eventName, uint64_t postTimeNs, uint64_t dispatchTimeNs, uint64_t finishTimeNs, uint8_t priority) noexcept |
| | Record a completed event execution into the circular buffer.
|
| |
| FlightRecord | recordAt (std::size_t index) const noexcept |
| | Read a record by logical historical index (0 is oldest available in current window).
|
| |
| uint64_t | totalRecorded () const noexcept |
| | Get total number of recorded events since creation.
|
| |
template<std::size_t Capacity = 256>
class corium::profiler::FlightRecorder< Capacity >
Zero-heap circular flight recorder storing the last N event telemetry records. Thread-safe for multiple producers and concurrent reader/dumping.
- Template Parameters
-
| Capacity | Number of flight records (power of 2). |
◆ FlightRecorder()
template<std::size_t Capacity = 256>
◆ capacity()
template<std::size_t Capacity = 256>
◆ exportChromeTracingJson()
template<std::size_t Capacity = 256>
Export recorded flight logs in Chrome Tracing JSON format (supported by chrome://tracing and Perfetto UI).
◆ forEach()
template<std::size_t Capacity = 256>
template<typename Callback >
Iterate through available historical records in chronological order.
◆ record()
template<std::size_t Capacity = 256>
| void corium::profiler::FlightRecorder< Capacity >::record |
( |
std::size_t |
eventTypeId, |
|
|
const char * |
eventName, |
|
|
uint64_t |
postTimeNs, |
|
|
uint64_t |
dispatchTimeNs, |
|
|
uint64_t |
finishTimeNs, |
|
|
uint8_t |
priority |
|
) |
| |
|
inlinenoexcept |
Record a completed event execution into the circular buffer.
◆ recordAt()
template<std::size_t Capacity = 256>
Read a record by logical historical index (0 is oldest available in current window).
◆ totalRecorded()
template<std::size_t Capacity = 256>
Get total number of recorded events since creation.
The documentation for this class was generated from the following file: