From 87e6000e7935e76b4aa6542c6c1142d5d43c7109 Mon Sep 17 00:00:00 2001 From: rch Date: Mon, 8 Sep 2014 09:59:27 -0700 Subject: [PATCH] Add a new histogram for tracking how much time is spent resolving hosts for QUIC sessions. Review URL: https://codereview.chromium.org/546133002 Cr-Commit-Position: refs/heads/master@{#293747} --- net/quic/quic_stream_factory.cc | 4 ++++ tools/metrics/histograms/histograms.xml | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc index 35c695563b1631..51b3b9df919ffb 100644 --- a/net/quic/quic_stream_factory.cc +++ b/net/quic/quic_stream_factory.cc @@ -211,6 +211,7 @@ class QuicStreamFactory::Job { CompletionCallback callback_; AddressList address_list_; base::TimeTicks disk_cache_load_start_time_; + base::TimeTicks dns_resolution_start_time_; base::WeakPtrFactory weak_factory_; DISALLOW_COPY_AND_ASSIGN(Job); }; @@ -315,6 +316,7 @@ int QuicStreamFactory::Job::DoResolveHost() { } io_state_ = STATE_RESOLVE_HOST_COMPLETE; + dns_resolution_start_time_ = base::TimeTicks::Now(); return host_resolver_.Resolve( HostResolver::RequestInfo(server_id_.host_port_pair()), DEFAULT_PRIORITY, @@ -325,6 +327,8 @@ int QuicStreamFactory::Job::DoResolveHost() { } int QuicStreamFactory::Job::DoResolveHostComplete(int rv) { + UMA_HISTOGRAM_TIMES("Net.QuicSession.HostResolutionTime", + base::TimeTicks::Now() - dns_resolution_start_time_); if (rv != OK) return rv; diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml index c28bbc1345a7a2..965822bc0d0e8d 100644 --- a/tools/metrics/histograms/histograms.xml +++ b/tools/metrics/histograms/histograms.xml @@ -16562,6 +16562,13 @@ Therefore, the affected-histogram name has to have at least one dot in it. + + rch@chromium.org + + Time spent resolving the DNS name of the server for a QUIC connection. + + + rch@chromium.org