summaryrefslogtreecommitdiffstats
path: root/net/quic
diff options
context:
space:
mode:
authorjri@google.com <jri@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-24 04:48:10 +0000
committerjri@google.com <jri@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-24 04:48:10 +0000
commitadfb3bdf79080fbb87a9572e28ad152b29c21198 (patch)
treed2717e6ba880065a3dc7a0a5b82f984ab5a9dd29 /net/quic
parent5e81eb694c0f9128a872e6131741f660467a72e5 (diff)
downloadchromium_src-adfb3bdf79080fbb87a9572e28ad152b29c21198.zip
chromium_src-adfb3bdf79080fbb87a9572e28ad152b29c21198.tar.gz
chromium_src-adfb3bdf79080fbb87a9572e28ad152b29c21198.tar.bz2
added UMA counts for stream frames in packet
BUG= Review URL: https://chromiumcodereview.appspot.com/23687011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224900 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic')
-rw-r--r--net/quic/quic_client_session.cc20
-rw-r--r--net/quic/quic_client_session.h2
2 files changed, 22 insertions, 0 deletions
diff --git a/net/quic/quic_client_session.cc b/net/quic/quic_client_session.cc
index ca6941c..91584c05 100644
--- a/net/quic/quic_client_session.cc
+++ b/net/quic/quic_client_session.cc
@@ -136,6 +136,26 @@ QuicClientSession::~QuicClientSession() {
}
}
+bool QuicClientSession::OnStreamFrames(
+ const std::vector<QuicStreamFrame>& frames) {
+ // Record total number of stream frames.
+ UMA_HISTOGRAM_COUNTS("Net.QuicNumStreamFramesInPacket", frames.size());
+
+ // Record number of frames per stream in packet.
+ typedef std::map<QuicStreamId, size_t> FrameCounter;
+ FrameCounter frames_per_stream;
+ for (size_t i = 0; i < frames.size(); ++i) {
+ frames_per_stream[frames[i].stream_id]++;
+ }
+ for (FrameCounter::const_iterator it = frames_per_stream.begin();
+ it != frames_per_stream.end(); ++it) {
+ UMA_HISTOGRAM_COUNTS("Net.QuicNumStreamFramesPerStreamInPacket",
+ it->second);
+ }
+
+ return QuicSession::OnStreamFrames(frames);
+}
+
int QuicClientSession::TryCreateStream(StreamRequest* request,
QuicReliableClientStream** stream) {
if (!crypto_stream_->encryption_established()) {
diff --git a/net/quic/quic_client_session.h b/net/quic/quic_client_session.h
index d167237..2a7a7d0 100644
--- a/net/quic/quic_client_session.h
+++ b/net/quic/quic_client_session.h
@@ -99,6 +99,8 @@ class NET_EXPORT_PRIVATE QuicClientSession : public QuicSession {
void CancelRequest(StreamRequest* request);
// QuicSession methods:
+ virtual bool OnStreamFrames(
+ const std::vector<QuicStreamFrame>& frames) OVERRIDE;
virtual QuicReliableClientStream* CreateOutgoingReliableStream() OVERRIDE;
virtual QuicCryptoClientStream* GetCryptoStream() OVERRIDE;
virtual void CloseStream(QuicStreamId stream_id) OVERRIDE;