summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorrch <rch@chromium.org>2015-02-18 15:33:03 -0800
committerCommit bot <commit-bot@chromium.org>2015-02-18 23:33:33 +0000
commit7cde50e9d748c56c8c2b1a99d00816df810a6df3 (patch)
tree4f54549fa4e19d7c156d7dbffe966fa762d7f932 /net
parent1fbce4562b2a12e9a40cca38b3dcebd71dd02063 (diff)
downloadchromium_src-7cde50e9d748c56c8c2b1a99d00816df810a6df3.zip
chromium_src-7cde50e9d748c56c8c2b1a99d00816df810a6df3.tar.gz
chromium_src-7cde50e9d748c56c8c2b1a99d00816df810a6df3.tar.bz2
Add a new histogram Net.QuicSession.HeadersStreamEarlyFramesReceived
for tracking the frames received on the headers stream which arrived early. Review URL: https://codereview.chromium.org/937803002 Cr-Commit-Position: refs/heads/master@{#316916}
Diffstat (limited to 'net')
-rw-r--r--net/quic/quic_connection_logger.cc2
-rw-r--r--net/quic/quic_connection_logger_unittest.cc5
-rw-r--r--net/quic/quic_session.h2
-rw-r--r--net/quic/reliable_quic_stream.cc4
-rw-r--r--net/quic/reliable_quic_stream.h2
5 files changed, 13 insertions, 2 deletions
diff --git a/net/quic/quic_connection_logger.cc b/net/quic/quic_connection_logger.cc
index 8a9c3a7..e1c0223 100644
--- a/net/quic/quic_connection_logger.cc
+++ b/net/quic/quic_connection_logger.cc
@@ -369,6 +369,8 @@ QuicConnectionLogger::~QuicConnectionLogger() {
num_blocked_frames_received_);
UMA_HISTOGRAM_COUNTS("Net.QuicSession.BlockedFrames.Sent",
num_blocked_frames_sent_);
+ UMA_HISTOGRAM_COUNTS("Net.QuicSession.HeadersStream.EarlyFramesReceived",
+ session_->headers_stream()->num_early_frames_received());
if (num_frames_received_ > 0) {
int duplicate_stream_frame_per_thousand =
diff --git a/net/quic/quic_connection_logger_unittest.cc b/net/quic/quic_connection_logger_unittest.cc
index dbba7d7..7392672 100644
--- a/net/quic/quic_connection_logger_unittest.cc
+++ b/net/quic/quic_connection_logger_unittest.cc
@@ -5,6 +5,7 @@
#include "net/quic/quic_connection_logger.h"
#include "net/quic/quic_protocol.h"
+#include "net/quic/test_tools/quic_test_utils.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace net {
@@ -19,9 +20,11 @@ class QuicConnectionLoggerPeer {
class QuicConnectionLoggerTest : public ::testing::Test {
protected:
- QuicConnectionLoggerTest() : logger_(nullptr, net_log_) {}
+ QuicConnectionLoggerTest()
+ : session_(new MockConnection(false)), logger_(&session_, net_log_) {}
BoundNetLog net_log_;
+ MockSession session_;
QuicConnectionLogger logger_;
};
diff --git a/net/quic/quic_session.h b/net/quic/quic_session.h
index 0d20b9b..15712f0 100644
--- a/net/quic/quic_session.h
+++ b/net/quic/quic_session.h
@@ -219,6 +219,8 @@ class NET_EXPORT_PRIVATE QuicSession : public QuicConnectionVisitorInterface {
size_t get_max_open_streams() const { return max_open_streams_; }
+ const QuicHeadersStream* headers_stream() { return headers_stream_.get(); }
+
protected:
typedef base::hash_map<QuicStreamId, QuicDataStream*> DataStreamMap;
diff --git a/net/quic/reliable_quic_stream.cc b/net/quic/reliable_quic_stream.cc
index 379991e8..8f34cf5 100644
--- a/net/quic/reliable_quic_stream.cc
+++ b/net/quic/reliable_quic_stream.cc
@@ -181,6 +181,10 @@ int ReliableQuicStream::num_frames_received() const {
return sequencer_.num_frames_received();
}
+int ReliableQuicStream::num_early_frames_received() const {
+ return sequencer_.num_early_frames_received();
+}
+
int ReliableQuicStream::num_duplicate_frames_received() const {
return sequencer_.num_duplicate_frames_received();
}
diff --git a/net/quic/reliable_quic_stream.h b/net/quic/reliable_quic_stream.h
index 93ad0c6..5757d8d 100644
--- a/net/quic/reliable_quic_stream.h
+++ b/net/quic/reliable_quic_stream.h
@@ -97,7 +97,7 @@ class NET_EXPORT_PRIVATE ReliableQuicStream {
virtual void OnWindowUpdateFrame(const QuicWindowUpdateFrame& frame);
int num_frames_received() const;
-
+ int num_early_frames_received() const;
int num_duplicate_frames_received() const;
QuicFlowController* flow_controller() { return &flow_controller_; }