diff options
-rw-r--r-- | net/spdy/spdy_session.cc | 7 | ||||
-rw-r--r-- | net/spdy/spdy_session.h | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/net/spdy/spdy_session.cc b/net/spdy/spdy_session.cc index a134b98..a788d13 100644 --- a/net/spdy/spdy_session.cc +++ b/net/spdy/spdy_session.cc @@ -248,6 +248,7 @@ SpdySession::SpdySession(const HostPortProxyPair& host_port_proxy_pair, frames_received_(0), sent_settings_(false), received_settings_(false), + stalled_streams_(0), initial_send_window_size_(spdy::kSpdyStreamInitialWindowSize), initial_recv_window_size_(spdy::kSpdyStreamInitialWindowSize), net_log_(BoundNetLog::Make(net_log, NetLog::SOURCE_SPDY_SESSION)) { @@ -346,6 +347,7 @@ int SpdySession::CreateStream( return CreateStreamImpl(url, priority, spdy_stream, stream_net_log); } + stalled_streams_++; net_log().AddEvent(NetLog::TYPE_SPDY_SESSION_STALLED_MAX_STREAMS, NULL); create_stream_queues_[priority].push( PendingCreateStream(url, priority, spdy_stream, @@ -1375,6 +1377,11 @@ void SpdySession::RecordHistograms() { sent_settings_ ? 1 : 0, 2); UMA_HISTOGRAM_ENUMERATION("Net.SpdySettingsReceived", received_settings_ ? 1 : 0, 2); + UMA_HISTOGRAM_CUSTOM_COUNTS("Net.SpdyStreamStallsPerSession", + stalled_streams_, + 0, 300, 50); + UMA_HISTOGRAM_ENUMERATION("Net.SpdySessionsWithStalls", + stalled_streams_ > 0 ? 1 : 0, 2); if (received_settings_) { // Enumerate the saved settings, and set histograms for it. diff --git a/net/spdy/spdy_session.h b/net/spdy/spdy_session.h index 210e9af..f8fa92a 100644 --- a/net/spdy/spdy_session.h +++ b/net/spdy/spdy_session.h @@ -411,6 +411,7 @@ class SpdySession : public base::RefCounted<SpdySession>, bool sent_settings_; // Did this session send settings when it started. bool received_settings_; // Did this session receive at least one settings // frame. + int stalled_streams_; // Count of streams that were ever stalled. // Initial send window size for the session; can be changed by an // arriving SETTINGS frame; newly created streams use this value for the |