LibQuicR
Loading...
Searching...
No Matches
metrics.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) 2024 Cisco Systems
2// SPDX-License-Identifier: BSD-2-Clause
3
4#pragma once
5
6#include "detail/quic_transport_metrics.h"
7#include <string>
8
9namespace quicr {
10 using namespace quicr;
11 using MetricsTimeStampUs = uint64_t;
12
14 {
16
17 QuicConnectionMetrics quic;
18
20 uint64_t rx_dgram_invalid_type{ 0 };
21 uint64_t rx_dgram_decode_failed{ 0 };
22
23 uint64_t rx_stream_buffer_error{ 0 };
25 uint64_t rx_stream_invalid_type{ 0 };
26
28 };
29
37
39 {
41
42 uint64_t bytes_published{ 0 };
43 uint64_t objects_published{ 0 };
44
45 uint64_t objects_dropped_not_ok{ 0 };
46
47 struct Quic
48 {
49 uint64_t tx_buffer_drops{ 0 };
50 uint64_t tx_queue_discards{ 0 };
51 uint64_t tx_queue_expired{ 0 };
52
53 uint64_t tx_delayed_callback{ 0 };
54 uint64_t tx_reset_wait{ 0 };
55
56 MinMaxAvg tx_queue_size;
57 MinMaxAvg tx_callback_ms;
60 };
61
62} // namespace moq
Definition transport.h:26
uint64_t MetricsTimeStampUs
Metrics timestamp in microseconds from epoch 1970.
Definition metrics.h:11
Definition metrics.h:14
uint64_t rx_stream_buffer_error
Stream buffer error that results in bad parsing.
Definition metrics.h:23
QuicConnectionMetrics quic
QUIC connection metrics.
Definition metrics.h:17
uint64_t rx_stream_unknown_track_alias
Received stream header with unknown track alias.
Definition metrics.h:24
uint64_t rx_dgram_invalid_type
Received datagram with invalid type of kObjectDatagram.
Definition metrics.h:20
MetricsTimeStampUs last_sample_time
Last sampled time in microseconds.
Definition metrics.h:15
uint64_t rx_dgram_unknown_track_alias
Received datagram with unknown track alias.
Definition metrics.h:19
uint64_t rx_dgram_decode_failed
Failed to decode datagram.
Definition metrics.h:21
uint64_t invalid_ctrl_stream_msg
Invalid control stream message received. Should always be 0.
Definition metrics.h:27
uint64_t rx_stream_invalid_type
Invalid message type.
Definition metrics.h:25
Definition metrics.h:48
MinMaxAvg tx_object_duration_us
TX object time in queue duration in microseconds.
Definition metrics.h:58
uint64_t tx_queue_expired
count of objects expired before pop/front due to TTL expiry
Definition metrics.h:51
uint64_t tx_buffer_drops
count of write buffer drops of data due to RESET request
Definition metrics.h:49
uint64_t tx_queue_discards
count of objects discarded due clear and transition to new stream
Definition metrics.h:50
uint64_t tx_delayed_callback
count of times transmit callbacks were delayed
Definition metrics.h:53
MinMaxAvg tx_callback_ms
Callback time in milliseconds in period.
Definition metrics.h:57
uint64_t tx_reset_wait
count of times data context performed a reset and wait
Definition metrics.h:54
MinMaxAvg tx_queue_size
TX queue size in period.
Definition metrics.h:56
Definition metrics.h:39
uint64_t bytes_published
sum of payload bytes published
Definition metrics.h:42
uint64_t objects_dropped_not_ok
Objects dropped upon publish object call due to status not being OK.
Definition metrics.h:45
struct quicr::PublishTrackMetrics::Quic quic
uint64_t objects_published
count of objects published
Definition metrics.h:43
MetricsTimeStampUs last_sample_time
Last sampled time in microseconds.
Definition metrics.h:40
Definition metrics.h:31
uint64_t bytes_received
sum of payload bytes received
Definition metrics.h:34
MetricsTimeStampUs last_sample_time
Last sampled time in microseconds.
Definition metrics.h:32
uint64_t objects_received
count of objects received
Definition metrics.h:35