Index: net/quic/quic_chromium_client_session.cc |
diff --git a/net/quic/quic_chromium_client_session.cc b/net/quic/quic_chromium_client_session.cc |
index 91f763c9d6dcdf6b4186589fe9adbb173342e40d..34936c322cfdbea88ddbb0a748b1ee1508daa175 100644 |
--- a/net/quic/quic_chromium_client_session.cc |
+++ b/net/quic/quic_chromium_client_session.cc |
@@ -143,6 +143,22 @@ std::unique_ptr<base::Value> NetLogQuicPushPromiseReceivedCallback( |
return std::move(dict); |
} |
+class HpackEncoderDebugVisitor : public QuicHeadersStream::HpackDebugVisitor { |
+ void OnUseEntry(QuicTime::Delta elapsed) override { |
+ UMA_HISTOGRAM_TIMES( |
+ "Net.QuicHpackEncoderIndexedEntryAge", |
Alexei Svitkine (slow)
2016/05/24 18:00:30
Nit: Maybe slightly more readable if you add anoth
Buck
2016/05/24 18:15:06
Done.
|
+ base::TimeDelta::FromMicroseconds(elapsed.ToMicroseconds())); |
+ } |
+}; |
+ |
+class HpackDecoderDebugVisitor : public QuicHeadersStream::HpackDebugVisitor { |
+ void OnUseEntry(QuicTime::Delta elapsed) override { |
+ UMA_HISTOGRAM_TIMES( |
+ "Net.QuicHpackDecoderIndexedEntryAge", |
+ base::TimeDelta::FromMicroseconds(elapsed.ToMicroseconds())); |
+ } |
+}; |
+ |
} // namespace |
QuicChromiumClientSession::StreamRequest::StreamRequest() : stream_(nullptr) {} |
@@ -368,6 +384,14 @@ QuicChromiumClientSession::~QuicChromiumClientSession() { |
static_cast<base::HistogramBase::Sample>(stats.max_sequence_reordering)); |
} |
+void QuicChromiumClientSession::Initialize() { |
+ QuicClientSessionBase::Initialize(); |
+ headers_stream()->SetHpackEncoderDebugVisitor( |
+ base::WrapUnique(new HpackEncoderDebugVisitor())); |
+ headers_stream()->SetHpackDecoderDebugVisitor( |
+ base::WrapUnique(new HpackDecoderDebugVisitor())); |
+} |
+ |
void QuicChromiumClientSession::OnHeadersHeadOfLineBlocking( |
QuicTime::Delta delta) { |
UMA_HISTOGRAM_TIMES( |