1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2025-11-09 10:00:57 +03:00

Add more fields to Qlog Transport Summary to track spurious retransmissions

Summary:
Add three new fields to the qlog transport summary to help analyze spurious transmissions and how they are affected by using adaptive loss thresholds.

Sample transport summary with added fields:
```
          "transport_summary",
          {
            "current_conn_flow_control": 1068498609,
            "current_writable_bytes": 106330,
            "dsr_packet_count": 0,
            "final_packet_loss_reordering_threshold": 77,
            "final_packet_loss_time_reordering_threshold_dividend": 29,
            "quic_version": 4207849474,
            "sum_cur_stream_buffer_len": 0,
            "sum_cur_write_offset": 5243215,
            "sum_max_observed_offset": 67,
            "total_bytes_cloned": 0,
            "total_bytes_recvd": 38157,
            "total_bytes_retransmitted": 244982,
            "total_bytes_sent": 5605121,
            "total_crypto_data_recvd": 342,
            "total_crypto_data_written": 1548,
            "total_packets_spuriously_marked_lost": 203,
            "total_stream_bytes_cloned": 0,
            "used_zero_rtt": false
          }
```

Reviewed By: afrind, mjoras

Differential Revision: D33354583

fbshipit-source-id: 55d9880ef02f6914b74c1b6508863bea7807950b
This commit is contained in:
Joseph Beshay
2022-01-07 18:41:05 -08:00
committed by Facebook GitHub Bot
parent 688d0ed31e
commit a73eade468
6 changed files with 55 additions and 1 deletions

View File

@@ -355,6 +355,9 @@ QLogTransportSummaryEvent::QLogTransportSummaryEvent(
uint64_t totalCryptoDataRecvdIn,
uint64_t currentWritableBytesIn,
uint64_t currentConnFlowControlIn,
uint64_t totalPacketsSpuriouslyMarkedLost,
uint64_t finalPacketLossReorderingThreshold,
uint64_t finalPacketLossTimeReorderingThreshDividend,
bool usedZeroRttIn,
QuicVersion quicVersionIn,
uint64_t dsrPacketCountIn,
@@ -371,6 +374,10 @@ QLogTransportSummaryEvent::QLogTransportSummaryEvent(
totalCryptoDataRecvd{totalCryptoDataRecvdIn},
currentWritableBytes{currentWritableBytesIn},
currentConnFlowControl{currentConnFlowControlIn},
totalPacketsSpuriouslyMarkedLost{totalPacketsSpuriouslyMarkedLost},
finalPacketLossReorderingThreshold{finalPacketLossReorderingThreshold},
finalPacketLossTimeReorderingThreshDividend{
finalPacketLossTimeReorderingThreshDividend},
usedZeroRtt{usedZeroRttIn},
quicVersion{quicVersionIn},
dsrPacketCount{dsrPacketCountIn} {
@@ -399,6 +406,12 @@ folly::dynamic QLogTransportSummaryEvent::toDynamic() const {
data["total_crypto_data_recvd"] = totalCryptoDataRecvd;
data["current_writable_bytes"] = currentWritableBytes;
data["current_conn_flow_control"] = currentConnFlowControl;
data["total_packets_spuriously_marked_lost"] =
totalPacketsSpuriouslyMarkedLost;
data["final_packet_loss_reordering_threshold"] =
finalPacketLossReorderingThreshold;
data["final_packet_loss_time_reordering_threshold_dividend"] =
finalPacketLossTimeReorderingThreshDividend;
data["used_zero_rtt"] = usedZeroRtt;
data["quic_version"] =
static_cast<std::underlying_type<decltype(quicVersion)>::type>(