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.
5 #include "net/quic/quic_connection_stats.h"
11 QuicConnectionStats::QuicConnectionStats()
19 stream_bytes_received(0),
20 bytes_retransmitted(0),
21 packets_retransmitted(0),
22 bytes_spuriously_retransmitted(0),
23 packets_spuriously_retransmitted(0),
25 slowstart_packets_lost(0),
28 crypto_retransmit_count(0),
29 loss_timeout_count(0),
32 spurious_rto_count(0),
35 estimated_bandwidth(0),
37 max_sequence_reordering(0),
38 max_time_reordering_us(0),
40 cwnd_increase_congestion_avoidance(0),
41 cwnd_increase_cubic_mode(0),
42 connection_creation_time(QuicTime::Zero()) {
45 QuicConnectionStats::~QuicConnectionStats() {}
47 ostream
& operator<<(ostream
& os
, const QuicConnectionStats
& s
) {
48 os
<< "{ bytes sent: " << s
.bytes_sent
49 << ", packets sent:" << s
.packets_sent
50 << ", stream bytes sent: " << s
.stream_bytes_sent
51 << ", packets discarded: " << s
.packets_discarded
52 << ", bytes received: " << s
.bytes_received
53 << ", packets received: " << s
.packets_received
54 << ", packets processed: " << s
.packets_processed
55 << ", stream bytes received: " << s
.stream_bytes_received
56 << ", bytes retransmitted: " << s
.bytes_retransmitted
57 << ", packets retransmitted: " << s
.packets_retransmitted
58 << ", bytes spuriously retransmitted: " << s
.bytes_spuriously_retransmitted
59 << ", packets spuriously retransmitted: "
60 << s
.packets_spuriously_retransmitted
61 << ", packets lost: " << s
.packets_lost
62 << ", slowstart packets lost: " << s
.slowstart_packets_lost
63 << ", packets revived: " << s
.packets_revived
64 << ", packets dropped:" << s
.packets_dropped
65 << ", crypto retransmit count: " << s
.crypto_retransmit_count
66 << ", tlp count: " << s
.tlp_count
67 << ", rto count: " << s
.rto_count
68 << ", spurious_rto_count:" << s
.spurious_rto_count
69 << ", min_rtt(us): " << s
.min_rtt_us
70 << ", srtt(us): " << s
.srtt_us
71 << ", max packet size: " << s
.max_packet_size
72 << ", estimated bandwidth: " << s
.estimated_bandwidth
73 << ", congestion window: " << s
.congestion_window
74 << ", tcp_loss_events: " << s
.tcp_loss_events
75 << ", packets reordered: " << s
.packets_reordered
76 << ", max sequence reordering: " << s
.max_sequence_reordering
77 << ", max time reordering(us): " << s
.max_time_reordering_us
78 << ", total amount of cwnd increase in TCPCubic, in congestion avoidance: "
79 << s
.cwnd_increase_congestion_avoidance
80 << ", amount of cwnd increase in TCPCubic, in cubic mode: "
81 << s
.cwnd_increase_cubic_mode