StormByte-Buffer 2.0.0
C++26 buffer module of the StormByte suite
 
Loading...
Searching...
No Matches
StormByte::Buffer::IO::ReadTelemetry Class Reference

Reader counters on top of StormByte::Buffer::ReadTelemetry. More...

#include <StormByte/buffer/io/telemetry.hxx>

Inheritance diagram for StormByte::Buffer::IO::ReadTelemetry:
Collaboration diagram for StormByte::Buffer::IO::ReadTelemetry:

Public Member Functions

 ReadTelemetry () noexcept
 Construct all counters at 0.
 
 ReadTelemetry (const ReadTelemetry &)=delete
 Copy constructor is deleted.
 
 ReadTelemetry (ReadTelemetry &&)=delete
 Move constructor is deleted.
 
virtual ~ReadTelemetry () noexcept override
 Virtual destructor.
 
ReadTelemetry & operator= (const ReadTelemetry &)=delete
 Copy assignment is deleted.
 
ReadTelemetry & operator= (ReadTelemetry &&)=delete
 Move assignment is deleted.
 
StormByte::ByteSize HitAhead () const noexcept
 Of Delivered, cache octets never consumed before.
 
StormByte::ByteSize HitBack () const noexcept
 Of Delivered, cache octets already passed by Tell.
 
StormByte::ByteSize Miss () const noexcept
 Of Delivered, octets pulled from the origin in that Read.
 
StormByte::ByteSize Origin () const noexcept
 Octets transferred by OriginPull this session.
 
StormByte::ByteSize Cached () const noexcept
 Resident cache octets now.
 
StormByte::ByteSize CachedPeak () const noexcept
 Maximum Cached since construction.
 
StormByte::ByteSize Cap () const noexcept
 MaxMemory at this snapshot.
 
std::size_t SeekLogical () const noexcept
 Successful public Seek calls.
 
std::size_t SeekOrigin () const noexcept
 OriginSeek calls that reached the device.
 
std::size_t SeekSavedFull () const noexcept
 Closed Seek epochs that never called OriginSeek after a cache hit.
 
std::size_t SeekSavedPartial () const noexcept
 Closed Seek epochs that called OriginSeek after a cache hit.
 
std::size_t TryAgain () const noexcept
 Times Read / Peek returned TryAgain.
 
std::size_t Saturated () const noexcept
 Times resident cache reached Cap while Cap > 0.
 
std::size_t Evicted () const noexcept
 Cache spans dropped by MaxMemory eviction.
 
std::chrono::nanoseconds WaitMin () const noexcept
 Shortest sampled Read/Peek wait.
 
std::chrono::nanoseconds WaitMax () const noexcept
 Longest sampled Read/Peek wait.
 
std::chrono::nanoseconds WaitTotal () const noexcept
 Sum of sampled waits.
 
std::size_t WaitSamples () const noexcept
 Sampled waits (work or timed-out TryAgain).
 
 operator StormByte::String::String () const override
 Flatten base and IO read counters.
 
- Public Member Functions inherited from StormByte::Buffer::ReadTelemetry
 ReadTelemetry () noexcept
 Construct all counters at 0.
 
 ReadTelemetry (const ReadTelemetry &)=delete
 
 ReadTelemetry (ReadTelemetry &&)=delete
 
ReadTelemetry & operator= (const ReadTelemetry &)=delete
 
ReadTelemetry & operator= (ReadTelemetry &&)=delete
 
StormByte::ByteSize Delivered () const noexcept
 Octets delivered to the caller.
 
 operator StormByte::String::String () const override
 Flatten base read counters.
 
- Public Member Functions inherited from StormByte::Buffer::Telemetry
virtual ~Telemetry () noexcept
 Virtual destructor.
 
StormByte::ByteSize MeanRate () const noexcept
 Effective mean rate of requested user operations.
 
STORMBYTE_FORCE_INLINE operator std::string () const
 Flatten via StormByte::String::String in this TU.
 

Protected Attributes

StormByte::ByteSize m_hit_ahead
 First-touch cache octets.
 
StormByte::ByteSize m_hit_back
 Replay after Seek.
 
StormByte::ByteSize m_miss
 Pulled from the origin this Read.
 
StormByte::ByteSize m_origin
 OriginPull octets this session.
 
StormByte::ByteSize m_cached
 Resident cache now.
 
StormByte::ByteSize m_cached_peak
 Maximum Cached.
 
StormByte::ByteSize m_cap
 MaxMemory snapshot.
 
std::size_t m_seek_logical
 Public Seek calls.
 
std::size_t m_seek_origin
 OriginSeek calls.
 
std::size_t m_seek_saved_full
 Epochs with no OriginSeek after a hit.
 
std::size_t m_seek_saved_partial
 Epochs that later needed OriginSeek.
 
std::size_t m_try_again
 Read/Peek TryAgain.
 
std::size_t m_saturated
 Cache hit Cap.
 
std::size_t m_evicted
 Spans dropped by MaxMemory.
 
std::chrono::nanoseconds m_wait_min
 Shortest sampled wait.
 
std::chrono::nanoseconds m_wait_max
 Longest sampled wait.
 
std::chrono::nanoseconds m_wait_total
 Sum of sampled waits.
 
std::size_t m_wait_samples
 Sampled waits.
 
- Protected Attributes inherited from StormByte::Buffer::ReadTelemetry
StormByte::ByteSize m_delivered
 Octets delivered.
 

Friends

class StormByte::Buffer::Backend::IO::BufferedReader
 

Additional Inherited Members

- Protected Member Functions inherited from StormByte::Buffer::Telemetry
 Telemetry () noexcept
 Construct all counters at 0.
 
 Telemetry (const Telemetry &)=delete
 
 Telemetry (Telemetry &&)=delete
 
Telemetry & operator= (const Telemetry &)=delete
 
Telemetry & operator= (Telemetry &&)=delete
 
void DeltaOperation (StormByte::ByteSize bytes, std::chrono::microseconds elapsed) noexcept
 Accumulate one requested operation and refresh MeanRate.
 

Detailed Description

Reader counters on top of StormByte::Buffer::ReadTelemetry.

Same fields as BufferedReader::Telemetry in SHA c1d44cb. StormByte::Buffer::Backend::IO::BufferedReader writes them. MeanRate is the caller rate, not the origin rate.

Constructor & Destructor Documentation

◆ ReadTelemetry() [1/3]

StormByte::Buffer::IO::ReadTelemetry::ReadTelemetry ( )
noexcept

Construct all counters at 0.

◆ ReadTelemetry() [2/3]

StormByte::Buffer::IO::ReadTelemetry::ReadTelemetry ( const ReadTelemetry &  )
delete

Copy constructor is deleted.

◆ ReadTelemetry() [3/3]

StormByte::Buffer::IO::ReadTelemetry::ReadTelemetry ( ReadTelemetry &&  )
delete

Move constructor is deleted.

◆ ~ReadTelemetry()

virtual StormByte::Buffer::IO::ReadTelemetry::~ReadTelemetry ( )
overridevirtualnoexcept

Virtual destructor.

Out-of-line for the DLL boundary.

Reimplemented from StormByte::Buffer::ReadTelemetry.

Member Function Documentation

◆ Cached()

StormByte::ByteSize StormByte::Buffer::IO::ReadTelemetry::Cached ( ) const
noexcept

Resident cache octets now.

Returns
Current map occupancy.

◆ CachedPeak()

StormByte::ByteSize StormByte::Buffer::IO::ReadTelemetry::CachedPeak ( ) const
noexcept

Maximum Cached since construction.

Returns
Peak occupancy.

◆ Cap()

StormByte::ByteSize StormByte::Buffer::IO::ReadTelemetry::Cap ( ) const
noexcept

MaxMemory at this snapshot.

Returns
Cache cap. 0 means no cache.

◆ Evicted()

std::size_t StormByte::Buffer::IO::ReadTelemetry::Evicted ( ) const
noexcept

Cache spans dropped by MaxMemory eviction.

Returns
Count.

◆ HitAhead()

StormByte::ByteSize StormByte::Buffer::IO::ReadTelemetry::HitAhead ( ) const
noexcept

Of Delivered, cache octets never consumed before.

Returns
First-touch / read-ahead hits.

◆ HitBack()

StormByte::ByteSize StormByte::Buffer::IO::ReadTelemetry::HitBack ( ) const
noexcept

Of Delivered, cache octets already passed by Tell.

Returns
Page-cache replay after Seek.

◆ Miss()

StormByte::ByteSize StormByte::Buffer::IO::ReadTelemetry::Miss ( ) const
noexcept

Of Delivered, octets pulled from the origin in that Read.

Returns
Origin miss octets.

◆ operator StormByte::String::String()

StormByte::Buffer::IO::ReadTelemetry::operator StormByte::String::String ( ) const
overridevirtual

Flatten base and IO read counters.

Returns
IEC ByteSize text. MeanRate ends with /s.

Implements StormByte::Buffer::Telemetry.

◆ operator=() [1/2]

ReadTelemetry & StormByte::Buffer::IO::ReadTelemetry::operator= ( const ReadTelemetry &  )
delete

Copy assignment is deleted.

Returns
*this.

◆ operator=() [2/2]

ReadTelemetry & StormByte::Buffer::IO::ReadTelemetry::operator= ( ReadTelemetry &&  )
delete

Move assignment is deleted.

Returns
*this.

◆ Origin()

StormByte::ByteSize StormByte::Buffer::IO::ReadTelemetry::Origin ( ) const
noexcept

Octets transferred by OriginPull this session.

Returns
Accumulator. Prefetch included.

◆ Saturated()

std::size_t StormByte::Buffer::IO::ReadTelemetry::Saturated ( ) const
noexcept

Times resident cache reached Cap while Cap > 0.

Returns
Count.

◆ SeekLogical()

std::size_t StormByte::Buffer::IO::ReadTelemetry::SeekLogical ( ) const
noexcept

Successful public Seek calls.

Returns
Count.

◆ SeekOrigin()

std::size_t StormByte::Buffer::IO::ReadTelemetry::SeekOrigin ( ) const
noexcept

OriginSeek calls that reached the device.

Returns
Count.

◆ SeekSavedFull()

std::size_t StormByte::Buffer::IO::ReadTelemetry::SeekSavedFull ( ) const
noexcept

Closed Seek epochs that never called OriginSeek after a cache hit.

Returns
Count.

◆ SeekSavedPartial()

std::size_t StormByte::Buffer::IO::ReadTelemetry::SeekSavedPartial ( ) const
noexcept

Closed Seek epochs that called OriginSeek after a cache hit.

Returns
Count.

◆ TryAgain()

std::size_t StormByte::Buffer::IO::ReadTelemetry::TryAgain ( ) const
noexcept

Times Read / Peek returned TryAgain.

Returns
Count.

◆ WaitMax()

std::chrono::nanoseconds StormByte::Buffer::IO::ReadTelemetry::WaitMax ( ) const
noexcept

Longest sampled Read/Peek wait.

Returns
0 if WaitSamples is 0.

◆ WaitMin()

std::chrono::nanoseconds StormByte::Buffer::IO::ReadTelemetry::WaitMin ( ) const
noexcept

Shortest sampled Read/Peek wait.

Returns
0 if WaitSamples is 0.

◆ WaitSamples()

std::size_t StormByte::Buffer::IO::ReadTelemetry::WaitSamples ( ) const
noexcept

Sampled waits (work or timed-out TryAgain).

Returns
Count. Not empty no-ops.

◆ WaitTotal()

std::chrono::nanoseconds StormByte::Buffer::IO::ReadTelemetry::WaitTotal ( ) const
noexcept

Sum of sampled waits.

Returns
Accumulator.

Friends And Related Symbol Documentation

◆ StormByte::Buffer::Backend::IO::BufferedReader

friend class StormByte::Buffer::Backend::IO::BufferedReader
friend

Member Data Documentation

◆ m_cached

StormByte::ByteSize StormByte::Buffer::IO::ReadTelemetry::m_cached
protected

Resident cache now.

◆ m_cached_peak

StormByte::ByteSize StormByte::Buffer::IO::ReadTelemetry::m_cached_peak
protected

Maximum Cached.

◆ m_cap

StormByte::ByteSize StormByte::Buffer::IO::ReadTelemetry::m_cap
protected

MaxMemory snapshot.

◆ m_evicted

std::size_t StormByte::Buffer::IO::ReadTelemetry::m_evicted
protected

Spans dropped by MaxMemory.

◆ m_hit_ahead

StormByte::ByteSize StormByte::Buffer::IO::ReadTelemetry::m_hit_ahead
protected

First-touch cache octets.

◆ m_hit_back

StormByte::ByteSize StormByte::Buffer::IO::ReadTelemetry::m_hit_back
protected

Replay after Seek.

◆ m_miss

StormByte::ByteSize StormByte::Buffer::IO::ReadTelemetry::m_miss
protected

Pulled from the origin this Read.

◆ m_origin

StormByte::ByteSize StormByte::Buffer::IO::ReadTelemetry::m_origin
protected

OriginPull octets this session.

◆ m_saturated

std::size_t StormByte::Buffer::IO::ReadTelemetry::m_saturated
protected

Cache hit Cap.

◆ m_seek_logical

std::size_t StormByte::Buffer::IO::ReadTelemetry::m_seek_logical
protected

Public Seek calls.

◆ m_seek_origin

std::size_t StormByte::Buffer::IO::ReadTelemetry::m_seek_origin
protected

OriginSeek calls.

◆ m_seek_saved_full

std::size_t StormByte::Buffer::IO::ReadTelemetry::m_seek_saved_full
protected

Epochs with no OriginSeek after a hit.

◆ m_seek_saved_partial

std::size_t StormByte::Buffer::IO::ReadTelemetry::m_seek_saved_partial
protected

Epochs that later needed OriginSeek.

◆ m_try_again

std::size_t StormByte::Buffer::IO::ReadTelemetry::m_try_again
protected

Read/Peek TryAgain.

◆ m_wait_max

std::chrono::nanoseconds StormByte::Buffer::IO::ReadTelemetry::m_wait_max
protected

Longest sampled wait.

◆ m_wait_min

std::chrono::nanoseconds StormByte::Buffer::IO::ReadTelemetry::m_wait_min
protected

Shortest sampled wait.

◆ m_wait_samples

std::size_t StormByte::Buffer::IO::ReadTelemetry::m_wait_samples
protected

Sampled waits.

◆ m_wait_total

std::chrono::nanoseconds StormByte::Buffer::IO::ReadTelemetry::m_wait_total
protected

Sum of sampled waits.


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