OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/quic/quic_client_session.h" | 5 #include "net/quic/quic_client_session.h" |
6 | 6 |
7 #include "base/callback_helpers.h" | 7 #include "base/callback_helpers.h" |
8 #include "base/message_loop/message_loop.h" | 8 #include "base/message_loop/message_loop.h" |
9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
10 #include "base/metrics/sparse_histogram.h" | 10 #include "base/metrics/sparse_histogram.h" |
(...skipping 584 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
595 "Net.QuicSession.ConnectionCloseErrorCodeServer", error); | 595 "Net.QuicSession.ConnectionCloseErrorCodeServer", error); |
596 } else { | 596 } else { |
597 UMA_HISTOGRAM_SPARSE_SLOWLY( | 597 UMA_HISTOGRAM_SPARSE_SLOWLY( |
598 "Net.QuicSession.ConnectionCloseErrorCodeClient", error); | 598 "Net.QuicSession.ConnectionCloseErrorCodeClient", error); |
599 } | 599 } |
600 | 600 |
601 if (error == QUIC_CONNECTION_TIMED_OUT) { | 601 if (error == QUIC_CONNECTION_TIMED_OUT) { |
602 UMA_HISTOGRAM_COUNTS( | 602 UMA_HISTOGRAM_COUNTS( |
603 "Net.QuicSession.ConnectionClose.NumOpenStreams.TimedOut", | 603 "Net.QuicSession.ConnectionClose.NumOpenStreams.TimedOut", |
604 GetNumOpenStreams()); | 604 GetNumOpenStreams()); |
605 if (!IsCryptoHandshakeConfirmed()) { | 605 if (IsCryptoHandshakeConfirmed()) { |
| 606 if (GetNumOpenStreams() > 0) { |
| 607 UMA_HISTOGRAM_BOOLEAN( |
| 608 "Net.QuicSession.TimedOutWithOpenStreams.HasUnackedPackets", |
| 609 connection()->sent_packet_manager().HasUnackedPackets()); |
| 610 UMA_HISTOGRAM_COUNTS( |
| 611 "Net.QuicSession.TimedOutWithOpenStreams.ConsecutiveRTOCount", |
| 612 connection()->sent_packet_manager().consecutive_rto_count()); |
| 613 UMA_HISTOGRAM_COUNTS( |
| 614 "Net.QuicSession.TimedOutWithOpenStreams.ConsecutiveTLPCount", |
| 615 connection()->sent_packet_manager().consecutive_tlp_count()); |
| 616 } |
| 617 } else { |
606 UMA_HISTOGRAM_COUNTS( | 618 UMA_HISTOGRAM_COUNTS( |
607 "Net.QuicSession.ConnectionClose.NumOpenStreams.HandshakeTimedOut", | 619 "Net.QuicSession.ConnectionClose.NumOpenStreams.HandshakeTimedOut", |
608 GetNumOpenStreams()); | 620 GetNumOpenStreams()); |
609 UMA_HISTOGRAM_COUNTS( | 621 UMA_HISTOGRAM_COUNTS( |
610 "Net.QuicSession.ConnectionClose.NumTotalStreams.HandshakeTimedOut", | 622 "Net.QuicSession.ConnectionClose.NumTotalStreams.HandshakeTimedOut", |
611 num_total_streams_); | 623 num_total_streams_); |
612 } | 624 } |
613 } | 625 } |
614 | 626 |
615 if (!IsCryptoHandshakeConfirmed()) { | 627 if (!IsCryptoHandshakeConfirmed()) { |
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
857 return; | 869 return; |
858 | 870 |
859 // TODO(rch): re-enable this code once beta is cut. | 871 // TODO(rch): re-enable this code once beta is cut. |
860 // if (stream_factory_) | 872 // if (stream_factory_) |
861 // stream_factory_->OnSessionConnectTimeout(this); | 873 // stream_factory_->OnSessionConnectTimeout(this); |
862 // CloseAllStreams(ERR_QUIC_HANDSHAKE_FAILED); | 874 // CloseAllStreams(ERR_QUIC_HANDSHAKE_FAILED); |
863 // DCHECK_EQ(0u, GetNumOpenStreams()); | 875 // DCHECK_EQ(0u, GetNumOpenStreams()); |
864 } | 876 } |
865 | 877 |
866 } // namespace net | 878 } // namespace net |
OLD | NEW |