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/macros.h" | 7 #include "base/macros.h" |
8 #include "base/metrics/histogram_functions.h" | 8 #include "base/metrics/histogram_functions.h" |
9 #include "base/metrics/histogram_macros.h" | 9 #include "base/metrics/histogram_macros.h" |
10 #include "base/metrics/sparse_histogram.h" | 10 #include "base/metrics/sparse_histogram.h" |
(...skipping 799 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
810 RecordBandwidthMetric( | 810 RecordBandwidthMetric( |
811 "Download.ParallelizableDownloadBandwidth." | 811 "Download.ParallelizableDownloadBandwidth." |
812 "WithoutParallelRequests", | 812 "WithoutParallelRequests", |
813 bandwidth_without_parallel_streams); | 813 bandwidth_without_parallel_streams); |
814 } | 814 } |
815 } | 815 } |
816 | 816 |
817 if (!uses_parallel_requests) | 817 if (!uses_parallel_requests) |
818 return; | 818 return; |
819 | 819 |
| 820 base::TimeDelta time_saved; |
820 if (bytes_downloaded_with_parallel_streams > 0) { | 821 if (bytes_downloaded_with_parallel_streams > 0) { |
821 RecordBandwidthMetric( | 822 RecordBandwidthMetric( |
822 "Download.ParallelizableDownloadBandwidth." | 823 "Download.ParallelizableDownloadBandwidth." |
823 "WithParallelRequestsMultipleStreams", | 824 "WithParallelRequestsMultipleStreams", |
824 CalculateBandwidthBytesPerSecond(bytes_downloaded_with_parallel_streams, | 825 CalculateBandwidthBytesPerSecond(bytes_downloaded_with_parallel_streams, |
825 time_with_parallel_streams)); | 826 time_with_parallel_streams)); |
| 827 if (bandwidth_without_parallel_streams > 0) { |
| 828 time_saved = base::TimeDelta::FromMilliseconds( |
| 829 1000.0 * bytes_downloaded_with_parallel_streams / |
| 830 bandwidth_without_parallel_streams) - |
| 831 time_with_parallel_streams; |
| 832 } |
826 } | 833 } |
827 | 834 |
828 base::TimeDelta time_saved; | |
829 if (bandwidth_without_parallel_streams > 0) { | |
830 time_saved = base::TimeDelta::FromMilliseconds( | |
831 1000.0 * bytes_downloaded_with_parallel_streams / | |
832 bandwidth_without_parallel_streams) - | |
833 time_with_parallel_streams; | |
834 } | |
835 int kMillisecondsPerHour = | 835 int kMillisecondsPerHour = |
836 base::checked_cast<int>(base::Time::kMillisecondsPerSecond * 60 * 60); | 836 base::checked_cast<int>(base::Time::kMillisecondsPerSecond * 60 * 60); |
837 if (time_saved >= base::TimeDelta()) { | 837 if (time_saved >= base::TimeDelta()) { |
838 UMA_HISTOGRAM_CUSTOM_COUNTS( | 838 UMA_HISTOGRAM_CUSTOM_COUNTS( |
839 "Download.EstimatedTimeSavedWithParallelDownload", | 839 "Download.EstimatedTimeSavedWithParallelDownload", |
840 time_saved.InMilliseconds(), 0, kMillisecondsPerHour, 50); | 840 time_saved.InMilliseconds(), 0, kMillisecondsPerHour, 50); |
841 } else { | 841 } else { |
842 UMA_HISTOGRAM_CUSTOM_COUNTS( | 842 UMA_HISTOGRAM_CUSTOM_COUNTS( |
843 "Download.EstimatedTimeWastedWithParallelDownload", | 843 "Download.EstimatedTimeWastedWithParallelDownload", |
844 -time_saved.InMilliseconds(), 0, kMillisecondsPerHour, 50); | 844 -time_saved.InMilliseconds(), 0, kMillisecondsPerHour, 50); |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
934 } | 934 } |
935 | 935 |
936 void RecordDownloadHttpResponseCode(int response_code) { | 936 void RecordDownloadHttpResponseCode(int response_code) { |
937 UMA_HISTOGRAM_CUSTOM_ENUMERATION( | 937 UMA_HISTOGRAM_CUSTOM_ENUMERATION( |
938 "Download.HttpResponseCode", | 938 "Download.HttpResponseCode", |
939 net::HttpUtil::MapStatusCodeForHistogram(response_code), | 939 net::HttpUtil::MapStatusCodeForHistogram(response_code), |
940 net::HttpUtil::GetStatusCodesForHistogram()); | 940 net::HttpUtil::GetStatusCodesForHistogram()); |
941 } | 941 } |
942 | 942 |
943 } // namespace content | 943 } // namespace content |
OLD | NEW |