Buffer session counters layered on Base's named clocks. More...
#include <StormByte/buffer/telemetry.hxx>


Classes | |
| class | OperationSample |
| Measures one operation with a Base named clock. More... | |
Public Member Functions | |
| virtual | ~Telemetry () noexcept |
| Virtual destructor. | |
| StormByte::ByteSize | MeanRate () const noexcept |
| Effective mean rate of requested user operations. | |
| OperationSample | MeasureOperation () |
| Starts measuring an operation with Base's named clock drawer. | |
| virtual | operator StormByte::Safe::String () const =0 |
| Flatten counters. | |
| STORMBYTE_FORCE_INLINE | operator std::string () const |
Flatten via StormByte::Safe::String in this TU. | |
Public Member Functions inherited from StormByte::Telemetry | |
| virtual | operator Safe::String () const=0 |
| STORMBYTE_FORCE_INLINE | operator std::string () const |
Protected Member Functions | |
| Telemetry () noexcept | |
| Construct all counters at 0. | |
| Telemetry (const Telemetry &)=delete | |
| Telemetry (Telemetry &&)=delete | |
| Telemetry & | operator= (const Telemetry &)=delete |
| Telemetry & | operator= (Telemetry &&)=delete |
| void | RecordOperation (StormByte::ByteSize bytes, std::chrono::microseconds elapsed) noexcept |
| Accumulate the committed bytes and duration from a Base clock. | |
Protected Member Functions inherited from StormByte::Telemetry | |
| Telemetry () noexcept | |
| Telemetry (const Telemetry &)=delete | |
| Telemetry (Telemetry &&other) noexcept | |
| Telemetry & | operator= (const Telemetry &)=delete |
| Telemetry & | operator= (Telemetry &&other) noexcept |
| class Clock & | Clock (std::string_view name) noexcept |
| const class Clock & | Clock (std::string_view name) const noexcept |
Friends | |
| class | Bridge |
Buffer session counters layered on Base's named clocks.
Not wall time from Open. 0 until an operation has a non-zero duration. Flatten prints StormByte::ByteSize IEC text plus "/s".
Rate accumulators are atomic. Each concurrent thread/depth receives a distinct Base clock so the clock's Start/Stop pair is not shared.
|
virtualnoexcept |
|
protectednoexcept |
Construct all counters at 0.
|
protecteddelete |
|
protecteddelete |
|
noexcept |
Effective mean rate of requested user operations.
Not origin throughput.
| OperationSample StormByte::Buffer::Telemetry::MeasureOperation | ( | ) |
Starts measuring an operation with Base's named clock drawer.
|
inline |
Flatten via StormByte::Safe::String in this TU.
std::string on the caller heap.
|
pure virtual |
Flatten counters.
Safe across the DLL boundary.
Implemented in StormByte::Buffer::IO::ReadTelemetry, StormByte::Buffer::IO::WriteTelemetry, StormByte::Buffer::ReadTelemetry, and StormByte::Buffer::WriteTelemetry.
|
protectednoexcept |
Accumulate the committed bytes and duration from a Base clock.
| bytes | Octets this operation delivered or accepted. |
| elapsed | Duration recorded by its named Base clock. |
|
friend |