xref: /aosp_15_r20/external/cronet/net/third_party/quiche/src/quiche/quic/core/quic_connection_stats.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "quiche/quic/core/quic_connection_stats.h"
6 
7 namespace quic {
8 
operator <<(std::ostream & os,const QuicConnectionStats & s)9 std::ostream& operator<<(std::ostream& os, const QuicConnectionStats& s) {
10   os << "{ bytes_sent: " << s.bytes_sent;
11   os << " packets_sent: " << s.packets_sent;
12   os << " stream_bytes_sent: " << s.stream_bytes_sent;
13   os << " packets_discarded: " << s.packets_discarded;
14   os << " bytes_received: " << s.bytes_received;
15   os << " packets_received: " << s.packets_received;
16   os << " packets_processed: " << s.packets_processed;
17   os << " stream_bytes_received: " << s.stream_bytes_received;
18   os << " bytes_retransmitted: " << s.bytes_retransmitted;
19   os << " packets_retransmitted: " << s.packets_retransmitted;
20   os << " bytes_spuriously_retransmitted: " << s.bytes_spuriously_retransmitted;
21   os << " packets_spuriously_retransmitted: "
22      << s.packets_spuriously_retransmitted;
23   os << " packets_lost: " << s.packets_lost;
24   os << " slowstart_packets_sent: " << s.slowstart_packets_sent;
25   os << " slowstart_packets_lost: " << s.slowstart_packets_lost;
26   os << " slowstart_bytes_lost: " << s.slowstart_bytes_lost;
27   os << " packets_dropped: " << s.packets_dropped;
28   os << " undecryptable_packets_received_before_handshake_complete: "
29      << s.undecryptable_packets_received_before_handshake_complete;
30   os << " crypto_retransmit_count: " << s.crypto_retransmit_count;
31   os << " loss_timeout_count: " << s.loss_timeout_count;
32   os << " tlp_count: " << s.tlp_count;
33   os << " rto_count: " << s.rto_count;
34   os << " pto_count: " << s.pto_count;
35   os << " min_rtt_us: " << s.min_rtt_us;
36   os << " srtt_us: " << s.srtt_us;
37   os << " egress_mtu: " << s.egress_mtu;
38   os << " max_egress_mtu: " << s.max_egress_mtu;
39   os << " ingress_mtu: " << s.ingress_mtu;
40   os << " estimated_bandwidth: " << s.estimated_bandwidth;
41   os << " packets_reordered: " << s.packets_reordered;
42   os << " max_sequence_reordering: " << s.max_sequence_reordering;
43   os << " max_time_reordering_us: " << s.max_time_reordering_us;
44   os << " tcp_loss_events: " << s.tcp_loss_events;
45   os << " connection_creation_time: "
46      << s.connection_creation_time.ToDebuggingValue();
47   os << " blocked_frames_received: " << s.blocked_frames_received;
48   os << " blocked_frames_sent: " << s.blocked_frames_sent;
49   os << " num_connectivity_probing_received: "
50      << s.num_connectivity_probing_received;
51   os << " num_path_response_received: " << s.num_path_response_received;
52   os << " retry_packet_processed: "
53      << (s.retry_packet_processed ? "yes" : "no");
54   os << " num_coalesced_packets_received: " << s.num_coalesced_packets_received;
55   os << " num_coalesced_packets_processed: "
56      << s.num_coalesced_packets_processed;
57   os << " num_ack_aggregation_epochs: " << s.num_ack_aggregation_epochs;
58   os << " key_update_count: " << s.key_update_count;
59   os << " num_failed_authentication_packets_received: "
60      << s.num_failed_authentication_packets_received;
61   os << " num_tls_server_zero_rtt_packets_received_after_discarding_decrypter: "
62      << s.num_tls_server_zero_rtt_packets_received_after_discarding_decrypter;
63   os << " address_validated_via_decrypting_packet: "
64      << s.address_validated_via_decrypting_packet;
65   os << " address_validated_via_token: " << s.address_validated_via_token;
66   os << " server_preferred_address_validated: "
67      << s.server_preferred_address_validated;
68   os << " failed_to_validate_server_preferred_address: "
69      << s.failed_to_validate_server_preferred_address;
70   os << " num_duplicated_packets_sent_to_server_preferred_address: "
71      << s.num_duplicated_packets_sent_to_server_preferred_address;
72   os << " }";
73 
74   return os;
75 }
76 
77 }  // namespace quic
78