LibQuicR
quicr::QuicStreamMetrics Struct Reference

Metrics produced by a single QUIC stream over one sample period. More...

#include <metrics.h>

Public Member Functions

constexpr auto operator<=> (const QuicStreamMetrics &other) const =default
 Compare all metric fields. More...
 
void Merge (const QuicStreamMetrics &other)
 Fold another stream's metrics into this one. More...
 

Public Attributes

uint64_t enqueued_objs { 0 }
 Number of objects enqueued by the application for transmission. More...
 
uint64_t rx_stream_cb { 0 }
 Number of receive callbacks. More...
 
uint64_t rx_stream_bytes { 0 }
 Number of stream bytes received. More...
 
uint64_t tx_buffer_drops { 0 }
 Write-buffer drops caused by stream reset. More...
 
uint64_t tx_queue_discards { 0 }
 Objects discarded by queue clear or expiry. More...
 
uint64_t tx_queue_expired { 0 }
 Objects found expired when removed from the queue. More...
 
uint64_t tx_delayed_callback { 0 }
 Number of delayed transmit callbacks. More...
 
MinMaxAvg tx_queue_size
 Transmit queue size during the period. More...
 
MinMaxAvg tx_callback_ms
 Transmit callback duration in milliseconds. More...
 
MinMaxAvg tx_object_duration_us
 Time objects spent queued, in microseconds. More...
 
uint64_t tx_stream_cb { 0 }
 Number of stream-send callbacks. More...
 
uint64_t tx_stream_objects { 0 }
 Number of stream objects sent. More...
 
uint64_t tx_stream_bytes { 0 }
 Number of stream bytes sent. More...
 

Detailed Description

Metrics produced by a single QUIC stream over one sample period.

Unlike the connection's, these are taken away from the stream at each sample rather than read from it, so every value describes the period alone and a consumer adds successive samples to build a total.

Member Function Documentation

◆ Merge()

void quicr::QuicStreamMetrics::Merge ( const QuicStreamMetrics &  other)
inline

Fold another stream's metrics into this one.

A flow may be carried by several streams at once, so its sample is the sum over the streams carrying it.

Parameters
otherPeriod metrics to add to this object.

◆ operator<=>()

constexpr auto quicr::QuicStreamMetrics::operator<=> ( const QuicStreamMetrics &  other) const
constexprdefault

Compare all metric fields.

Parameters
otherMetrics to compare.
Returns
Lexicographic comparison of the metric fields.

Member Data Documentation

◆ enqueued_objs

uint64_t quicr::QuicStreamMetrics::enqueued_objs { 0 }

Number of objects enqueued by the application for transmission.

◆ rx_stream_bytes

uint64_t quicr::QuicStreamMetrics::rx_stream_bytes { 0 }

Number of stream bytes received.

◆ rx_stream_cb

uint64_t quicr::QuicStreamMetrics::rx_stream_cb { 0 }

Number of receive callbacks.

◆ tx_buffer_drops

uint64_t quicr::QuicStreamMetrics::tx_buffer_drops { 0 }

Write-buffer drops caused by stream reset.

◆ tx_callback_ms

MinMaxAvg quicr::QuicStreamMetrics::tx_callback_ms

Transmit callback duration in milliseconds.

◆ tx_delayed_callback

uint64_t quicr::QuicStreamMetrics::tx_delayed_callback { 0 }

Number of delayed transmit callbacks.

◆ tx_object_duration_us

MinMaxAvg quicr::QuicStreamMetrics::tx_object_duration_us

Time objects spent queued, in microseconds.

◆ tx_queue_discards

uint64_t quicr::QuicStreamMetrics::tx_queue_discards { 0 }

Objects discarded by queue clear or expiry.

◆ tx_queue_expired

uint64_t quicr::QuicStreamMetrics::tx_queue_expired { 0 }

Objects found expired when removed from the queue.

◆ tx_queue_size

MinMaxAvg quicr::QuicStreamMetrics::tx_queue_size

Transmit queue size during the period.

◆ tx_stream_bytes

uint64_t quicr::QuicStreamMetrics::tx_stream_bytes { 0 }

Number of stream bytes sent.

◆ tx_stream_cb

uint64_t quicr::QuicStreamMetrics::tx_stream_cb { 0 }

Number of stream-send callbacks.

◆ tx_stream_objects

uint64_t quicr::QuicStreamMetrics::tx_stream_objects { 0 }

Number of stream objects sent.


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