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

Side by Side Diff: content/browser/download/download_stats.h

Issue 20609004: [Downloads] Some UMA for downloads resumption. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 5 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 | Annotate | Revision Log
OLDNEW
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 // Holds helpers for gathering UMA stats about downloads. 5 // Holds helpers for gathering UMA stats about downloads.
6 6
7 #ifndef CONTENT_BROWSER_DOWNLOAD_DOWNLOAD_STATS_H_ 7 #ifndef CONTENT_BROWSER_DOWNLOAD_DOWNLOAD_STATS_H_
8 #define CONTENT_BROWSER_DOWNLOAD_DOWNLOAD_STATS_H_ 8 #define CONTENT_BROWSER_DOWNLOAD_DOWNLOAD_STATS_H_
9 9
10 #include <string> 10 #include <string>
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 // This can happen when saving web pages as complete packages. It happens 61 // This can happen when saving web pages as complete packages. It happens
62 // when we get messages to append data to files that have already finished and 62 // when we get messages to append data to files that have already finished and
63 // been detached, but haven't yet been removed from the list of files in 63 // been detached, but haven't yet been removed from the list of files in
64 // progress. 64 // progress.
65 APPEND_TO_DETACHED_FILE_COUNT, 65 APPEND_TO_DETACHED_FILE_COUNT,
66 66
67 // Counts the number of instances where the downloaded file is missing after a 67 // Counts the number of instances where the downloaded file is missing after a
68 // successful invocation of ScanAndSaveDownloadedFile(). 68 // successful invocation of ScanAndSaveDownloadedFile().
69 FILE_MISSING_AFTER_SUCCESSFUL_SCAN_COUNT, 69 FILE_MISSING_AFTER_SUCCESSFUL_SCAN_COUNT,
70 70
71 // Count of downloads that supplies a strong ETag and has a 'Accept-Ranges:
72 // bytes' header. These downloads are candidates for partial resumption.
73 STRONG_ETAG_AND_ACCEPTS_RANGES,
74
75 // Count of downloads that didn't have a valid WebContents at the time it was
76 // interrupted.
77 INTERRUPTED_WITHOUT_WEBCONTENTS,
78
71 DOWNLOAD_COUNT_TYPES_LAST_ENTRY 79 DOWNLOAD_COUNT_TYPES_LAST_ENTRY
72 }; 80 };
73 81
74 enum DownloadSource { 82 enum DownloadSource {
75 // The download was initiated when the SavePackage system rejected 83 // The download was initiated when the SavePackage system rejected
76 // a Save Page As ... by returning false from 84 // a Save Page As ... by returning false from
77 // SavePackage::IsSaveableContents(). 85 // SavePackage::IsSaveableContents().
78 INITIATED_BY_SAVE_PACKAGE_ON_NON_HTML = 0, 86 INITIATED_BY_SAVE_PACKAGE_ON_NON_HTML = 0,
79 87
80 // The download was initiated by a drag and drop from a drag-and-drop 88 // The download was initiated by a drag and drop from a drag-and-drop
81 // enabled web application. 89 // enabled web application.
82 INITIATED_BY_DRAG_N_DROP, 90 INITIATED_BY_DRAG_N_DROP,
83 91
84 // The download was initiated by explicit RPC from the renderer process 92 // The download was initiated by explicit RPC from the renderer process
85 // (e.g. by Alt-click) through the IPC ViewHostMsg_DownloadUrl. 93 // (e.g. by Alt-click) through the IPC ViewHostMsg_DownloadUrl.
86 INITIATED_BY_RENDERER, 94 INITIATED_BY_RENDERER,
87 95
96 // Fomerly INITIATED_BY_PEPPER_SAVE.
97 DOWNLOAD_SOURCE_UNUSED_3,
98
99 // A request that was initiated as a result of resuming an interrupted
100 // download.
101 INITIATED_BY_RESUMPTION,
102
88 DOWNLOAD_SOURCE_LAST_ENTRY 103 DOWNLOAD_SOURCE_LAST_ENTRY
89 }; 104 };
90 105
91 enum DownloadDiscardReason { 106 enum DownloadDiscardReason {
92 // The download is being discarded due to a user action. 107 // The download is being discarded due to a user action.
93 DOWNLOAD_DISCARD_DUE_TO_USER_ACTION, 108 DOWNLOAD_DISCARD_DUE_TO_USER_ACTION,
94 109
95 // The download is being discarded due to the browser being shut down. 110 // The download is being discarded due to the browser being shut down.
96 DOWNLOAD_DISCARD_DUE_TO_SHUTDOWN 111 DOWNLOAD_DISCARD_DUE_TO_SHUTDOWN
97 }; 112 };
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 void RecordFileThreadReceiveBuffers(size_t num_buffers); 149 void RecordFileThreadReceiveBuffers(size_t num_buffers);
135 150
136 // Record the bandwidth seen in DownloadResourceHandler 151 // Record the bandwidth seen in DownloadResourceHandler
137 // |actual_bandwidth| and |potential_bandwidth| are in bytes/second. 152 // |actual_bandwidth| and |potential_bandwidth| are in bytes/second.
138 void RecordBandwidth(double actual_bandwidth, double potential_bandwidth); 153 void RecordBandwidth(double actual_bandwidth, double potential_bandwidth);
139 154
140 // Record the time of both the first open and all subsequent opens since the 155 // Record the time of both the first open and all subsequent opens since the
141 // download completed. 156 // download completed.
142 void RecordOpen(const base::Time& end, bool first); 157 void RecordOpen(const base::Time& end, bool first);
143 158
144 // Record whether or not the server accepts ranges, and the download size. 159 // Record whether or not the server accepts ranges, and the download size. Also
145 void RecordAcceptsRanges(const std::string& accepts_ranges, int64 download_len); 160 // counts if a strong ETag is supplied. The combination of range request support
161 // and ETag indicates downloads that are candidates for partial resumption.
162 void RecordAcceptsRanges(const std::string& accepts_ranges, int64 download_len,
163 const std::string& etag);
146 164
147 // Record the number of downloads removed by ClearAll. 165 // Record the number of downloads removed by ClearAll.
148 void RecordClearAllSize(int size); 166 void RecordClearAllSize(int size);
149 167
150 // Record the number of completed unopened downloads when a download is opened. 168 // Record the number of completed unopened downloads when a download is opened.
151 void RecordOpensOutstanding(int size); 169 void RecordOpensOutstanding(int size);
152 170
153 // Record how long we block the file thread at a time. 171 // Record how long we block the file thread at a time.
154 void RecordContiguousWriteTime(base::TimeDelta time_blocked); 172 void RecordContiguousWriteTime(base::TimeDelta time_blocked);
155 173
(...skipping 25 matching lines...) Expand all
181 SAVE_PACKAGE_WRITE_TO_FAILED, 199 SAVE_PACKAGE_WRITE_TO_FAILED,
182 200
183 SAVE_PACKAGE_LAST_ENTRY 201 SAVE_PACKAGE_LAST_ENTRY
184 }; 202 };
185 203
186 void RecordSavePackageEvent(SavePackageEvent event); 204 void RecordSavePackageEvent(SavePackageEvent event);
187 205
188 } // namespace content 206 } // namespace content
189 207
190 #endif // CONTENT_BROWSER_DOWNLOAD_DOWNLOAD_STATS_H_ 208 #endif // CONTENT_BROWSER_DOWNLOAD_DOWNLOAD_STATS_H_
OLDNEW
« no previous file with comments | « content/browser/download/download_resource_handler.cc ('k') | content/browser/download/download_stats.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698