diff options
author | jri@google.com <jri@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-24 04:48:10 +0000 |
---|---|---|
committer | jri@google.com <jri@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-24 04:48:10 +0000 |
commit | adfb3bdf79080fbb87a9572e28ad152b29c21198 (patch) | |
tree | d2717e6ba880065a3dc7a0a5b82f984ab5a9dd29 /net/quic | |
parent | 5e81eb694c0f9128a872e6131741f660467a72e5 (diff) | |
download | chromium_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.cc | 20 | ||||
-rw-r--r-- | net/quic/quic_client_session.h | 2 |
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; |