Skip to content

Commit

Permalink
log dropped acks
Browse files Browse the repository at this point in the history
  • Loading branch information
akhinvasara-jumptrading committed Feb 11, 2025
1 parent 9402484 commit e906f57
Show file tree
Hide file tree
Showing 11 changed files with 105 additions and 81 deletions.
1 change: 1 addition & 0 deletions book/api/metrics-generated.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@
| quic_​ack_​tx_​merged | `counter` | ACK events (merged into existing ACK range) |
| quic_​ack_​tx_​drop | `counter` | ACK events (out of buffers) |
| quic_​ack_​tx_​cancel | `counter` | ACK events (ACK suppressed by handler) |
| quic_​ack_​overflow | `counter` | Number of times the QUIC ACK queue overflowed. |
| quic_​service_​duration_​seconds | `histogram` | Duration spent in service |
| quic_​receive_​duration_​seconds | `histogram` | Duration spent receiving packets |
| quic_​frame_​fail_​parse | `counter` | Number of QUIC frames failed to parse. |
Expand Down
1 change: 1 addition & 0 deletions src/disco/metrics/generated/fd_metrics_quic.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ const fd_metrics_meta_t FD_METRICS_QUIC[FD_METRICS_QUIC_TOTAL] = {
DECLARE_METRIC_ENUM( QUIC_ACK_TX, COUNTER, QUIC_ACK_TX, MERGED ),
DECLARE_METRIC_ENUM( QUIC_ACK_TX, COUNTER, QUIC_ACK_TX, DROP ),
DECLARE_METRIC_ENUM( QUIC_ACK_TX, COUNTER, QUIC_ACK_TX, CANCEL ),
DECLARE_METRIC( QUIC_ACK_OVERFLOW, COUNTER ),
DECLARE_METRIC_HISTOGRAM_SECONDS( QUIC_SERVICE_DURATION_SECONDS ),
DECLARE_METRIC_HISTOGRAM_SECONDS( QUIC_RECEIVE_DURATION_SECONDS ),
DECLARE_METRIC( QUIC_FRAME_FAIL_PARSE, COUNTER ),
Expand Down
46 changes: 26 additions & 20 deletions src/disco/metrics/generated/fd_metrics_quic.h
Original file line number Diff line number Diff line change
Expand Up @@ -231,87 +231,93 @@
#define FD_METRICS_COUNTER_QUIC_ACK_TX_DROP_OFF (73UL)
#define FD_METRICS_COUNTER_QUIC_ACK_TX_CANCEL_OFF (74UL)

#define FD_METRICS_HISTOGRAM_QUIC_SERVICE_DURATION_SECONDS_OFF (75UL)
#define FD_METRICS_COUNTER_QUIC_ACK_OVERFLOW_OFF (75UL)
#define FD_METRICS_COUNTER_QUIC_ACK_OVERFLOW_NAME "quic_ack_overflow"
#define FD_METRICS_COUNTER_QUIC_ACK_OVERFLOW_TYPE (FD_METRICS_TYPE_COUNTER)
#define FD_METRICS_COUNTER_QUIC_ACK_OVERFLOW_DESC "Number of times the QUIC ACK queue overflowed."
#define FD_METRICS_COUNTER_QUIC_ACK_OVERFLOW_CVT (FD_METRICS_CONVERTER_NONE)

#define FD_METRICS_HISTOGRAM_QUIC_SERVICE_DURATION_SECONDS_OFF (76UL)
#define FD_METRICS_HISTOGRAM_QUIC_SERVICE_DURATION_SECONDS_NAME "quic_service_duration_seconds"
#define FD_METRICS_HISTOGRAM_QUIC_SERVICE_DURATION_SECONDS_TYPE (FD_METRICS_TYPE_HISTOGRAM)
#define FD_METRICS_HISTOGRAM_QUIC_SERVICE_DURATION_SECONDS_DESC "Duration spent in service"
#define FD_METRICS_HISTOGRAM_QUIC_SERVICE_DURATION_SECONDS_CVT (FD_METRICS_CONVERTER_SECONDS)
#define FD_METRICS_HISTOGRAM_QUIC_SERVICE_DURATION_SECONDS_MIN (1e-08)
#define FD_METRICS_HISTOGRAM_QUIC_SERVICE_DURATION_SECONDS_MAX (0.1)

#define FD_METRICS_HISTOGRAM_QUIC_RECEIVE_DURATION_SECONDS_OFF (92UL)
#define FD_METRICS_HISTOGRAM_QUIC_RECEIVE_DURATION_SECONDS_OFF (93UL)
#define FD_METRICS_HISTOGRAM_QUIC_RECEIVE_DURATION_SECONDS_NAME "quic_receive_duration_seconds"
#define FD_METRICS_HISTOGRAM_QUIC_RECEIVE_DURATION_SECONDS_TYPE (FD_METRICS_TYPE_HISTOGRAM)
#define FD_METRICS_HISTOGRAM_QUIC_RECEIVE_DURATION_SECONDS_DESC "Duration spent receiving packets"
#define FD_METRICS_HISTOGRAM_QUIC_RECEIVE_DURATION_SECONDS_CVT (FD_METRICS_CONVERTER_SECONDS)
#define FD_METRICS_HISTOGRAM_QUIC_RECEIVE_DURATION_SECONDS_MIN (1e-08)
#define FD_METRICS_HISTOGRAM_QUIC_RECEIVE_DURATION_SECONDS_MAX (0.1)

#define FD_METRICS_COUNTER_QUIC_FRAME_FAIL_PARSE_OFF (109UL)
#define FD_METRICS_COUNTER_QUIC_FRAME_FAIL_PARSE_OFF (110UL)
#define FD_METRICS_COUNTER_QUIC_FRAME_FAIL_PARSE_NAME "quic_frame_fail_parse"
#define FD_METRICS_COUNTER_QUIC_FRAME_FAIL_PARSE_TYPE (FD_METRICS_TYPE_COUNTER)
#define FD_METRICS_COUNTER_QUIC_FRAME_FAIL_PARSE_DESC "Number of QUIC frames failed to parse."
#define FD_METRICS_COUNTER_QUIC_FRAME_FAIL_PARSE_CVT (FD_METRICS_CONVERTER_NONE)

#define FD_METRICS_COUNTER_QUIC_PKT_CRYPTO_FAILED_OFF (110UL)
#define FD_METRICS_COUNTER_QUIC_PKT_CRYPTO_FAILED_OFF (111UL)
#define FD_METRICS_COUNTER_QUIC_PKT_CRYPTO_FAILED_NAME "quic_pkt_crypto_failed"
#define FD_METRICS_COUNTER_QUIC_PKT_CRYPTO_FAILED_TYPE (FD_METRICS_TYPE_COUNTER)
#define FD_METRICS_COUNTER_QUIC_PKT_CRYPTO_FAILED_DESC "Number of packets that failed decryption."
#define FD_METRICS_COUNTER_QUIC_PKT_CRYPTO_FAILED_CVT (FD_METRICS_CONVERTER_NONE)
#define FD_METRICS_COUNTER_QUIC_PKT_CRYPTO_FAILED_CNT (4UL)

#define FD_METRICS_COUNTER_QUIC_PKT_CRYPTO_FAILED_INITIAL_OFF (110UL)
#define FD_METRICS_COUNTER_QUIC_PKT_CRYPTO_FAILED_EARLY_OFF (111UL)
#define FD_METRICS_COUNTER_QUIC_PKT_CRYPTO_FAILED_HANDSHAKE_OFF (112UL)
#define FD_METRICS_COUNTER_QUIC_PKT_CRYPTO_FAILED_APP_OFF (113UL)
#define FD_METRICS_COUNTER_QUIC_PKT_CRYPTO_FAILED_INITIAL_OFF (111UL)
#define FD_METRICS_COUNTER_QUIC_PKT_CRYPTO_FAILED_EARLY_OFF (112UL)
#define FD_METRICS_COUNTER_QUIC_PKT_CRYPTO_FAILED_HANDSHAKE_OFF (113UL)
#define FD_METRICS_COUNTER_QUIC_PKT_CRYPTO_FAILED_APP_OFF (114UL)

#define FD_METRICS_COUNTER_QUIC_PKT_NO_KEY_OFF (114UL)
#define FD_METRICS_COUNTER_QUIC_PKT_NO_KEY_OFF (115UL)
#define FD_METRICS_COUNTER_QUIC_PKT_NO_KEY_NAME "quic_pkt_no_key"
#define FD_METRICS_COUNTER_QUIC_PKT_NO_KEY_TYPE (FD_METRICS_TYPE_COUNTER)
#define FD_METRICS_COUNTER_QUIC_PKT_NO_KEY_DESC "Number of packets that failed decryption due to missing key."
#define FD_METRICS_COUNTER_QUIC_PKT_NO_KEY_CVT (FD_METRICS_CONVERTER_NONE)
#define FD_METRICS_COUNTER_QUIC_PKT_NO_KEY_CNT (4UL)

#define FD_METRICS_COUNTER_QUIC_PKT_NO_KEY_INITIAL_OFF (114UL)
#define FD_METRICS_COUNTER_QUIC_PKT_NO_KEY_EARLY_OFF (115UL)
#define FD_METRICS_COUNTER_QUIC_PKT_NO_KEY_HANDSHAKE_OFF (116UL)
#define FD_METRICS_COUNTER_QUIC_PKT_NO_KEY_APP_OFF (117UL)
#define FD_METRICS_COUNTER_QUIC_PKT_NO_KEY_INITIAL_OFF (115UL)
#define FD_METRICS_COUNTER_QUIC_PKT_NO_KEY_EARLY_OFF (116UL)
#define FD_METRICS_COUNTER_QUIC_PKT_NO_KEY_HANDSHAKE_OFF (117UL)
#define FD_METRICS_COUNTER_QUIC_PKT_NO_KEY_APP_OFF (118UL)

#define FD_METRICS_COUNTER_QUIC_PKT_NET_HEADER_INVALID_OFF (118UL)
#define FD_METRICS_COUNTER_QUIC_PKT_NET_HEADER_INVALID_OFF (119UL)
#define FD_METRICS_COUNTER_QUIC_PKT_NET_HEADER_INVALID_NAME "quic_pkt_net_header_invalid"
#define FD_METRICS_COUNTER_QUIC_PKT_NET_HEADER_INVALID_TYPE (FD_METRICS_TYPE_COUNTER)
#define FD_METRICS_COUNTER_QUIC_PKT_NET_HEADER_INVALID_DESC "Number of packets dropped due to weird IP or UDP header."
#define FD_METRICS_COUNTER_QUIC_PKT_NET_HEADER_INVALID_CVT (FD_METRICS_CONVERTER_NONE)

#define FD_METRICS_COUNTER_QUIC_PKT_QUIC_HEADER_INVALID_OFF (119UL)
#define FD_METRICS_COUNTER_QUIC_PKT_QUIC_HEADER_INVALID_OFF (120UL)
#define FD_METRICS_COUNTER_QUIC_PKT_QUIC_HEADER_INVALID_NAME "quic_pkt_quic_header_invalid"
#define FD_METRICS_COUNTER_QUIC_PKT_QUIC_HEADER_INVALID_TYPE (FD_METRICS_TYPE_COUNTER)
#define FD_METRICS_COUNTER_QUIC_PKT_QUIC_HEADER_INVALID_DESC "Number of packets dropped due to weird QUIC header."
#define FD_METRICS_COUNTER_QUIC_PKT_QUIC_HEADER_INVALID_CVT (FD_METRICS_CONVERTER_NONE)

#define FD_METRICS_COUNTER_QUIC_PKT_UNDERSZ_OFF (120UL)
#define FD_METRICS_COUNTER_QUIC_PKT_UNDERSZ_OFF (121UL)
#define FD_METRICS_COUNTER_QUIC_PKT_UNDERSZ_NAME "quic_pkt_undersz"
#define FD_METRICS_COUNTER_QUIC_PKT_UNDERSZ_TYPE (FD_METRICS_TYPE_COUNTER)
#define FD_METRICS_COUNTER_QUIC_PKT_UNDERSZ_DESC "Number of QUIC packets dropped due to being too small."
#define FD_METRICS_COUNTER_QUIC_PKT_UNDERSZ_CVT (FD_METRICS_CONVERTER_NONE)

#define FD_METRICS_COUNTER_QUIC_PKT_OVERSZ_OFF (121UL)
#define FD_METRICS_COUNTER_QUIC_PKT_OVERSZ_OFF (122UL)
#define FD_METRICS_COUNTER_QUIC_PKT_OVERSZ_NAME "quic_pkt_oversz"
#define FD_METRICS_COUNTER_QUIC_PKT_OVERSZ_TYPE (FD_METRICS_TYPE_COUNTER)
#define FD_METRICS_COUNTER_QUIC_PKT_OVERSZ_DESC "Number of QUIC packets dropped due to being too large."
#define FD_METRICS_COUNTER_QUIC_PKT_OVERSZ_CVT (FD_METRICS_CONVERTER_NONE)

#define FD_METRICS_COUNTER_QUIC_PKT_VERNEG_OFF (122UL)
#define FD_METRICS_COUNTER_QUIC_PKT_VERNEG_OFF (123UL)
#define FD_METRICS_COUNTER_QUIC_PKT_VERNEG_NAME "quic_pkt_verneg"
#define FD_METRICS_COUNTER_QUIC_PKT_VERNEG_TYPE (FD_METRICS_TYPE_COUNTER)
#define FD_METRICS_COUNTER_QUIC_PKT_VERNEG_DESC "Number of QUIC version negotiation packets received."
#define FD_METRICS_COUNTER_QUIC_PKT_VERNEG_CVT (FD_METRICS_CONVERTER_NONE)

#define FD_METRICS_COUNTER_QUIC_RETRY_SENT_OFF (123UL)
#define FD_METRICS_COUNTER_QUIC_RETRY_SENT_OFF (124UL)
#define FD_METRICS_COUNTER_QUIC_RETRY_SENT_NAME "quic_retry_sent"
#define FD_METRICS_COUNTER_QUIC_RETRY_SENT_TYPE (FD_METRICS_TYPE_COUNTER)
#define FD_METRICS_COUNTER_QUIC_RETRY_SENT_DESC "Number of QUIC Retry packets sent."
#define FD_METRICS_COUNTER_QUIC_RETRY_SENT_CVT (FD_METRICS_CONVERTER_NONE)

#define FD_METRICS_QUIC_TOTAL (76UL)
#define FD_METRICS_QUIC_TOTAL (77UL)
extern const fd_metrics_meta_t FD_METRICS_QUIC[FD_METRICS_QUIC_TOTAL];
1 change: 1 addition & 0 deletions src/disco/metrics/metrics.xml
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,7 @@ metric introduced.
<counter name="ReceivedFrames" enum="QuicFrameType" summary="Number of QUIC frames received." />

<counter name="AckTx" enum="QuicAckTx" summary="ACK events" />
<counter name="AckOverflow" summary="Number of times the QUIC ACK queue overflowed." />

<histogram name="ServiceDurationSeconds" min="0.00000001" max="0.1" converter="seconds">
<summary>Duration spent in service</summary>
Expand Down
1 change: 1 addition & 0 deletions src/disco/quic/fd_quic_tile.c
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ metrics_write( fd_quic_ctx_t * ctx ) {
FD_MCNT_SET ( QUIC, FRAME_FAIL_PARSE, ctx->quic->metrics.frame_rx_err_cnt );

FD_MCNT_ENUM_COPY( QUIC, ACK_TX, ctx->quic->metrics.ack_tx );
FD_MCNT_SET( QUIC, ACK_OVERFLOW, ctx->quic->metrics.ack_overflow_cnt );

FD_MHIST_COPY( QUIC, SERVICE_DURATION_SECONDS, ctx->quic->metrics.service_duration );
FD_MHIST_COPY( QUIC, RECEIVE_DURATION_SECONDS, ctx->quic->metrics.receive_duration );
Expand Down
106 changes: 55 additions & 51 deletions src/disco/quic/test_quic_metrics.txt
Original file line number Diff line number Diff line change
Expand Up @@ -153,86 +153,90 @@ quic_ack_tx{kind="quic",kind_id="0",quic_ack_tx="merged"} 72
quic_ack_tx{kind="quic",kind_id="0",quic_ack_tx="drop"} 73
quic_ack_tx{kind="quic",kind_id="0",quic_ack_tx="cancel"} 74

# HELP quic_ack_overflow Number of times the QUIC ACK queue overflowed.
# TYPE quic_ack_overflow counter
quic_ack_overflow{kind="quic",kind_id="0"} 75

# HELP quic_service_duration_seconds Duration spent in service
# TYPE quic_service_duration_seconds histogram
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="8.9999999999999995e-09"} 75
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="3.1e-08"} 151
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="9.9999999999999995e-08"} 228
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="3.1800000000000002e-07"} 306
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="1.0070000000000001e-06"} 385
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="3.1839999999999999e-06"} 465
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="1.0063e-05"} 546
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="3.1798999999999998e-05"} 628
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="0.000100479"} 711
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="0.00031749099999999999"} 795
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="0.001003196"} 880
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="0.003169856"} 966
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="0.010015971"} 1053
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="0.031648018999999999"} 1141
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="0.099999999000000006"} 1230
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="+Inf"} 1320
quic_service_duration_seconds_sum{kind="quic",kind_id="0"} 9.0999999999999994e-08
quic_service_duration_seconds_count{kind="quic",kind_id="0"} 1320
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="8.9999999999999995e-09"} 76
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="3.1e-08"} 153
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="9.9999999999999995e-08"} 231
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="3.1800000000000002e-07"} 310
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="1.0070000000000001e-06"} 390
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="3.1839999999999999e-06"} 471
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="1.0063e-05"} 553
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="3.1798999999999998e-05"} 636
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="0.000100479"} 720
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="0.00031749099999999999"} 805
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="0.001003196"} 891
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="0.003169856"} 978
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="0.010015971"} 1066
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="0.031648018999999999"} 1155
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="0.099999999000000006"} 1245
quic_service_duration_seconds_bucket{kind="quic",kind_id="0",le="+Inf"} 1336
quic_service_duration_seconds_sum{kind="quic",kind_id="0"} 9.2000000000000003e-08
quic_service_duration_seconds_count{kind="quic",kind_id="0"} 1336

# HELP quic_receive_duration_seconds Duration spent receiving packets
# TYPE quic_receive_duration_seconds histogram
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="8.9999999999999995e-09"} 92
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="3.1e-08"} 185
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="9.9999999999999995e-08"} 279
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="3.1800000000000002e-07"} 374
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="1.0070000000000001e-06"} 470
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="3.1839999999999999e-06"} 567
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="1.0063e-05"} 665
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="3.1798999999999998e-05"} 764
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="0.000100479"} 864
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="0.00031749099999999999"} 965
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="0.001003196"} 1067
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="0.003169856"} 1170
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="0.010015971"} 1274
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="0.031648018999999999"} 1379
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="0.099999999000000006"} 1485
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="+Inf"} 1592
quic_receive_duration_seconds_sum{kind="quic",kind_id="0"} 1.08e-07
quic_receive_duration_seconds_count{kind="quic",kind_id="0"} 1592
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="8.9999999999999995e-09"} 93
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="3.1e-08"} 187
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="9.9999999999999995e-08"} 282
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="3.1800000000000002e-07"} 378
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="1.0070000000000001e-06"} 475
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="3.1839999999999999e-06"} 573
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="1.0063e-05"} 672
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="3.1798999999999998e-05"} 772
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="0.000100479"} 873
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="0.00031749099999999999"} 975
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="0.001003196"} 1078
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="0.003169856"} 1182
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="0.010015971"} 1287
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="0.031648018999999999"} 1393
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="0.099999999000000006"} 1500
quic_receive_duration_seconds_bucket{kind="quic",kind_id="0",le="+Inf"} 1608
quic_receive_duration_seconds_sum{kind="quic",kind_id="0"} 1.09e-07
quic_receive_duration_seconds_count{kind="quic",kind_id="0"} 1608

# HELP quic_frame_fail_parse Number of QUIC frames failed to parse.
# TYPE quic_frame_fail_parse counter
quic_frame_fail_parse{kind="quic",kind_id="0"} 109
quic_frame_fail_parse{kind="quic",kind_id="0"} 110

# HELP quic_pkt_crypto_failed Number of packets that failed decryption.
# TYPE quic_pkt_crypto_failed counter
quic_pkt_crypto_failed{kind="quic",kind_id="0",quic_enc_level="initial"} 110
quic_pkt_crypto_failed{kind="quic",kind_id="0",quic_enc_level="early"} 111
quic_pkt_crypto_failed{kind="quic",kind_id="0",quic_enc_level="handshake"} 112
quic_pkt_crypto_failed{kind="quic",kind_id="0",quic_enc_level="app"} 113
quic_pkt_crypto_failed{kind="quic",kind_id="0",quic_enc_level="initial"} 111
quic_pkt_crypto_failed{kind="quic",kind_id="0",quic_enc_level="early"} 112
quic_pkt_crypto_failed{kind="quic",kind_id="0",quic_enc_level="handshake"} 113
quic_pkt_crypto_failed{kind="quic",kind_id="0",quic_enc_level="app"} 114

# HELP quic_pkt_no_key Number of packets that failed decryption due to missing key.
# TYPE quic_pkt_no_key counter
quic_pkt_no_key{kind="quic",kind_id="0",quic_enc_level="initial"} 114
quic_pkt_no_key{kind="quic",kind_id="0",quic_enc_level="early"} 115
quic_pkt_no_key{kind="quic",kind_id="0",quic_enc_level="handshake"} 116
quic_pkt_no_key{kind="quic",kind_id="0",quic_enc_level="app"} 117
quic_pkt_no_key{kind="quic",kind_id="0",quic_enc_level="initial"} 115
quic_pkt_no_key{kind="quic",kind_id="0",quic_enc_level="early"} 116
quic_pkt_no_key{kind="quic",kind_id="0",quic_enc_level="handshake"} 117
quic_pkt_no_key{kind="quic",kind_id="0",quic_enc_level="app"} 118

# HELP quic_pkt_net_header_invalid Number of packets dropped due to weird IP or UDP header.
# TYPE quic_pkt_net_header_invalid counter
quic_pkt_net_header_invalid{kind="quic",kind_id="0"} 118
quic_pkt_net_header_invalid{kind="quic",kind_id="0"} 119

# HELP quic_pkt_quic_header_invalid Number of packets dropped due to weird QUIC header.
# TYPE quic_pkt_quic_header_invalid counter
quic_pkt_quic_header_invalid{kind="quic",kind_id="0"} 119
quic_pkt_quic_header_invalid{kind="quic",kind_id="0"} 120

# HELP quic_pkt_undersz Number of QUIC packets dropped due to being too small.
# TYPE quic_pkt_undersz counter
quic_pkt_undersz{kind="quic",kind_id="0"} 120
quic_pkt_undersz{kind="quic",kind_id="0"} 121

# HELP quic_pkt_oversz Number of QUIC packets dropped due to being too large.
# TYPE quic_pkt_oversz counter
quic_pkt_oversz{kind="quic",kind_id="0"} 121
quic_pkt_oversz{kind="quic",kind_id="0"} 122

# HELP quic_pkt_verneg Number of QUIC version negotiation packets received.
# TYPE quic_pkt_verneg counter
quic_pkt_verneg{kind="quic",kind_id="0"} 122
quic_pkt_verneg{kind="quic",kind_id="0"} 123

# HELP quic_retry_sent Number of QUIC Retry packets sent.
# TYPE quic_retry_sent counter
quic_retry_sent{kind="quic",kind_id="0"} 123
quic_retry_sent{kind="quic",kind_id="0"} 124
3 changes: 2 additions & 1 deletion src/waltz/quic/fd_quic.c
Original file line number Diff line number Diff line change
Expand Up @@ -2001,7 +2001,8 @@ fd_quic_lazy_ack_pkt( fd_quic_t * quic,
}

fd_quic_state_t * state = fd_quic_get_state( quic );
int res = fd_quic_ack_pkt( conn->ack_gen, pkt->pkt_number, pkt->enc_level, state->now );
int res = fd_quic_ack_pkt( conn->ack_gen, pkt->pkt_number, pkt->enc_level,
state->now, &quic->metrics.ack_overflow_cnt );
conn->ack_gen->is_elicited |= fd_uchar_if( pkt->ack_flag & ACK_FLAG_RQD, 1, 0 );

/* Trigger immediate ACK send? */
Expand Down
1 change: 1 addition & 0 deletions src/waltz/quic/fd_quic.h
Original file line number Diff line number Diff line change
Expand Up @@ -342,6 +342,7 @@ union fd_quic_metrics {

/* ACK metrics */
ulong ack_tx[ 5 ];
ulong ack_overflow_cnt;

/* Performance metrics */
fd_histf_t service_duration[ 1 ]; /* time spent in service */
Expand Down
Loading

0 comments on commit e906f57

Please sign in to comment.