Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(106)

Side by Side Diff: net/base/network_quality_estimator.cc

Issue 1834273002: Add TRACE_EVENT macros to net. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: nit. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/base/network_quality_estimator.h" 5 #include "net/base/network_quality_estimator.h"
6 6
7 #include <float.h> 7 #include <float.h>
8 #include <algorithm> 8 #include <algorithm>
9 #include <cmath> 9 #include <cmath>
10 #include <limits> 10 #include <limits>
11 #include <utility> 11 #include <utility>
12 #include <vector> 12 #include <vector>
13 13
14 #include "base/logging.h" 14 #include "base/logging.h"
15 #include "base/metrics/histogram.h" 15 #include "base/metrics/histogram.h"
16 #include "base/metrics/histogram_base.h" 16 #include "base/metrics/histogram_base.h"
17 #include "base/strings/string_number_conversions.h" 17 #include "base/strings/string_number_conversions.h"
18 #include "base/trace_event/trace_event.h"
18 #include "build/build_config.h" 19 #include "build/build_config.h"
19 #include "net/base/load_flags.h" 20 #include "net/base/load_flags.h"
20 #include "net/base/load_timing_info.h" 21 #include "net/base/load_timing_info.h"
21 #include "net/base/network_interfaces.h" 22 #include "net/base/network_interfaces.h"
22 #include "net/base/url_util.h" 23 #include "net/base/url_util.h"
23 #include "net/url_request/url_request.h" 24 #include "net/url_request/url_request.h"
24 #include "url/gurl.h" 25 #include "url/gurl.h"
25 26
26 #if defined(OS_ANDROID) 27 #if defined(OS_ANDROID)
27 #include "net/android/network_library.h" 28 #include "net/android/network_library.h"
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 NotifyObserversOfThroughput(throughput_observation); 234 NotifyObserversOfThroughput(throughput_observation);
234 } 235 }
235 } 236 }
236 237
237 NetworkQualityEstimator::~NetworkQualityEstimator() { 238 NetworkQualityEstimator::~NetworkQualityEstimator() {
238 DCHECK(thread_checker_.CalledOnValidThread()); 239 DCHECK(thread_checker_.CalledOnValidThread());
239 NetworkChangeNotifier::RemoveConnectionTypeObserver(this); 240 NetworkChangeNotifier::RemoveConnectionTypeObserver(this);
240 } 241 }
241 242
242 void NetworkQualityEstimator::NotifyHeadersReceived(const URLRequest& request) { 243 void NetworkQualityEstimator::NotifyHeadersReceived(const URLRequest& request) {
244 TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("net"),
245 "NetworkQualityEstimator::NotifyHeadersReceived");
243 DCHECK(thread_checker_.CalledOnValidThread()); 246 DCHECK(thread_checker_.CalledOnValidThread());
244 247
245 if (!RequestProvidesUsefulObservations(request)) 248 if (!RequestProvidesUsefulObservations(request))
246 return; 249 return;
247 250
248 // Update |estimated_median_network_quality_| if this is a main frame request. 251 // Update |estimated_median_network_quality_| if this is a main frame request.
249 if (request.load_flags() & LOAD_MAIN_FRAME) { 252 if (request.load_flags() & LOAD_MAIN_FRAME) {
250 estimated_median_network_quality_ = NetworkQuality( 253 estimated_median_network_quality_ = NetworkQuality(
251 GetRTTEstimateInternal(base::TimeTicks(), 50), 254 GetRTTEstimateInternal(base::TimeTicks(), 50),
252 GetDownlinkThroughputKbpsEstimateInternal(base::TimeTicks(), 50)); 255 GetDownlinkThroughputKbpsEstimateInternal(base::TimeTicks(), 50));
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 287
285 // Compare the RTT observation with the estimated value and record it. 288 // Compare the RTT observation with the estimated value and record it.
286 if (estimated_median_network_quality_.rtt() != InvalidRTT()) { 289 if (estimated_median_network_quality_.rtt() != InvalidRTT()) {
287 RecordRTTUMA(estimated_median_network_quality_.rtt().InMilliseconds(), 290 RecordRTTUMA(estimated_median_network_quality_.rtt().InMilliseconds(),
288 observed_rtt.InMilliseconds()); 291 observed_rtt.InMilliseconds());
289 } 292 }
290 } 293 }
291 294
292 void NetworkQualityEstimator::NotifyRequestCompleted( 295 void NetworkQualityEstimator::NotifyRequestCompleted(
293 const URLRequest& request) { 296 const URLRequest& request) {
297 TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("net"),
298 "NetworkQualityEstimator::NotifyRequestCompleted");
294 DCHECK(thread_checker_.CalledOnValidThread()); 299 DCHECK(thread_checker_.CalledOnValidThread());
295 300
296 if (!RequestProvidesUsefulObservations(request)) 301 if (!RequestProvidesUsefulObservations(request))
297 return; 302 return;
298 303
299 base::TimeTicks now = base::TimeTicks::Now(); 304 base::TimeTicks now = base::TimeTicks::Now();
300 LoadTimingInfo load_timing_info; 305 LoadTimingInfo load_timing_info;
301 request.GetLoadTimingInfo(&load_timing_info); 306 request.GetLoadTimingInfo(&load_timing_info);
302 307
303 // If the load timing info is unavailable, it probably means that the request 308 // If the load timing info is unavailable, it probably means that the request
(...skipping 664 matching lines...) Expand 10 before | Expand all | Expand 10 after
968 973
969 NetworkQualityEstimator::NetworkQuality& 974 NetworkQualityEstimator::NetworkQuality&
970 NetworkQualityEstimator::NetworkQuality:: 975 NetworkQualityEstimator::NetworkQuality::
971 operator=(const NetworkQuality& other) { 976 operator=(const NetworkQuality& other) {
972 rtt_ = other.rtt_; 977 rtt_ = other.rtt_;
973 downstream_throughput_kbps_ = other.downstream_throughput_kbps_; 978 downstream_throughput_kbps_ = other.downstream_throughput_kbps_;
974 return *this; 979 return *this;
975 } 980 }
976 981
977 } // namespace net 982 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698