Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "content/browser/download/download_stats.h" | 5 #include "content/browser/download/download_stats.h" |
| 6 | 6 |
| 7 #include "base/metrics/histogram.h" | 7 #include "base/metrics/histogram.h" |
| 8 #include "base/string_util.h" | 8 #include "base/string_util.h" |
| 9 #include "content/browser/download/download_resource_handler.h" | 9 #include "content/browser/download/download_resource_handler.h" |
| 10 #include "content/public/browser/download_interrupt_reasons.h" | 10 #include "content/public/browser/download_interrupt_reasons.h" |
| (...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 248 | 248 |
| 249 // Record the value. | 249 // Record the value. |
| 250 UMA_HISTOGRAM_ENUMERATION("Download.ContentType", | 250 UMA_HISTOGRAM_ENUMERATION("Download.ContentType", |
| 251 download_content, | 251 download_content, |
| 252 DOWNLOAD_CONTENT_MAX); | 252 DOWNLOAD_CONTENT_MAX); |
| 253 } | 253 } |
| 254 | 254 |
| 255 void RecordFileThreadReceiveBuffers(size_t num_buffers) { | 255 void RecordFileThreadReceiveBuffers(size_t num_buffers) { |
| 256 UMA_HISTOGRAM_CUSTOM_COUNTS( | 256 UMA_HISTOGRAM_CUSTOM_COUNTS( |
| 257 "Download.FileThreadReceiveBuffers", num_buffers, 1, | 257 "Download.FileThreadReceiveBuffers", num_buffers, 1, |
| 258 DownloadResourceHandler::kLoadsToWrite, | 258 100, 100); |
| 259 DownloadResourceHandler::kLoadsToWrite); | |
| 260 } | 259 } |
| 261 | 260 |
| 262 void RecordBandwidth(double actual_bandwidth, double potential_bandwidth) { | 261 void RecordBandwidth(double actual_bandwidth, double potential_bandwidth) { |
| 263 UMA_HISTOGRAM_CUSTOM_COUNTS( | 262 UMA_HISTOGRAM_CUSTOM_COUNTS( |
| 264 "Download.ActualBandwidth", actual_bandwidth, 1, 1000000000, 50); | 263 "Download.ActualBandwidth", actual_bandwidth, 1, 1000000000, 50); |
| 265 UMA_HISTOGRAM_CUSTOM_COUNTS( | 264 UMA_HISTOGRAM_CUSTOM_COUNTS( |
| 266 "Download.PotentialBandwidth", potential_bandwidth, 1, 1000000000, 50); | 265 "Download.PotentialBandwidth", potential_bandwidth, 1, 1000000000, 50); |
| 267 UMA_HISTOGRAM_PERCENTAGE( | 266 UMA_HISTOGRAM_PERCENTAGE( |
| 268 "Download.BandwidthUsed", | 267 "Download.BandwidthUsed", |
| 269 (int) ((actual_bandwidth * 100)/ potential_bandwidth)); | 268 (int) ((actual_bandwidth * 100)/ potential_bandwidth)); |
| (...skipping 26 matching lines...) Expand all Loading... | |
| 296 } | 295 } |
| 297 | 296 |
| 298 void RecordOpensOutstanding(int size) { | 297 void RecordOpensOutstanding(int size) { |
| 299 UMA_HISTOGRAM_CUSTOM_COUNTS("Download.OpensOutstanding", | 298 UMA_HISTOGRAM_CUSTOM_COUNTS("Download.OpensOutstanding", |
| 300 size, | 299 size, |
| 301 0/*min*/, | 300 0/*min*/, |
| 302 (1 << 10)/*max*/, | 301 (1 << 10)/*max*/, |
| 303 64/*num_buckets*/); | 302 64/*num_buckets*/); |
| 304 } | 303 } |
| 305 | 304 |
| 305 void RecordContiguousWriteTime(base::TimeDelta time_blocked) { | |
| 306 UMA_HISTOGRAM_TIMES("Download.FileThreadBlockedTime", time_blocked); | |
| 307 } | |
| 308 | |
| 309 void RecordNetworkBandwidth(size_t length, | |
| 310 base::TimeDelta elapsed_time, | |
| 311 base::TimeDelta paused_time) { | |
| 312 size_t non_pause_time_ms = (elapsed_time - paused_time).InMilliseconds(); | |
| 313 if (0u == non_pause_time_ms) | |
| 314 non_pause_time_ms = 1; | |
| 315 | |
| 316 // Note that this will be somewhat higher than sustainable network | |
| 317 // bandwidth because of buffering in the kernel during pauses. | |
| 318 UMA_HISTOGRAM_CUSTOM_COUNTS( | |
| 319 "Download.BandwidthNetwork", | |
|
benjhayden
2012/05/30 20:22:33
Include units (looks like Bps?) in case you decide
| |
| 320 (1000 * length / non_pause_time_ms), | |
| 321 1, 100000000, 50); | |
| 322 } | |
| 323 | |
| 324 void RecordFileBandwidth(size_t length, | |
| 325 base::TimeDelta disk_write_time, | |
| 326 base::TimeDelta elapsed_time) { | |
| 327 size_t elapsed_time_ms = elapsed_time.InMilliseconds(); | |
| 328 if (0u == elapsed_time_ms) | |
| 329 elapsed_time_ms = 1; | |
| 330 size_t disk_write_time_ms = disk_write_time.InMilliseconds(); | |
| 331 if (0u == disk_write_time_ms) | |
| 332 disk_write_time_ms = 1; | |
| 333 | |
| 334 UMA_HISTOGRAM_CUSTOM_COUNTS( | |
| 335 "Download.BandwidthOverall", | |
| 336 (1000 * length / elapsed_time_ms), 1, 50000000, 50); | |
| 337 UMA_HISTOGRAM_CUSTOM_COUNTS( | |
| 338 "Download.BandwidthDisk", | |
| 339 (1000 * length / disk_write_time_ms), 1, 50000000, 50); | |
| 340 } | |
| 341 | |
| 306 void RecordSavePackageEvent(SavePackageEvent event) { | 342 void RecordSavePackageEvent(SavePackageEvent event) { |
| 307 UMA_HISTOGRAM_ENUMERATION("Download.SavePackage", | 343 UMA_HISTOGRAM_ENUMERATION("Download.SavePackage", |
| 308 event, | 344 event, |
| 309 SAVE_PACKAGE_LAST_ENTRY); | 345 SAVE_PACKAGE_LAST_ENTRY); |
| 310 } | 346 } |
| 311 | 347 |
| 312 } // namespace download_stats | 348 } // namespace download_stats |
| OLD | NEW |