Commit d3b9a8de authored by dougarnett's avatar dougarnett Committed by Commit bot

[OfflinePages] Adds TimeToStart UMA for background load requests.

BUG=656099

Review-Url: https://codereview.chromium.org/2440733002
Cr-Commit-Position: refs/heads/master@{#427186}
parent efbf745f
...@@ -74,6 +74,23 @@ void RecordOfflinerResultUMA(const ClientId& client_id, ...@@ -74,6 +74,23 @@ void RecordOfflinerResultUMA(const ClientId& client_id,
} }
} }
void RecordStartTimeUMA(const SavePageRequest& request) {
std::string histogram_name("OfflinePages.Background.TimeToStart");
if (base::SysInfo::IsLowEndDevice()) {
histogram_name += ".Svelte";
}
// The histogram below is an expansion of the UMA_HISTOGRAM_CUSTOM_TIMES
// macro adapted to allow for a dynamically suffixed histogram name.
// Note: The factory creates and owns the histogram.
base::HistogramBase* histogram = base::Histogram::FactoryTimeGet(
AddHistogramSuffix(request.client_id(), histogram_name.c_str()),
base::TimeDelta::FromMilliseconds(100), base::TimeDelta::FromDays(7), 50,
base::HistogramBase::kUmaTargetedHistogramFlag);
base::TimeDelta duration = base::Time::Now() - request.creation_time();
histogram->AddTime(duration);
}
void RecordCancelTimeUMA(const SavePageRequest& canceled_request) { void RecordCancelTimeUMA(const SavePageRequest& canceled_request) {
// Using regular histogram (with dynamic suffix) rather than time-oriented // Using regular histogram (with dynamic suffix) rather than time-oriented
// one to record samples in seconds rather than milliseconds. // one to record samples in seconds rather than milliseconds.
...@@ -581,6 +598,11 @@ void RequestCoordinator::SendRequestToOffliner(const SavePageRequest& request) { ...@@ -581,6 +598,11 @@ void RequestCoordinator::SendRequestToOffliner(const SavePageRequest& request) {
DCHECK(!is_busy_); DCHECK(!is_busy_);
is_busy_ = true; is_busy_ = true;
// Record start time if this is first attempt.
if (request.started_attempt_count() == 0) {
RecordStartTimeUMA(request);
}
// Mark attempt started in the database and start offliner when completed. // Mark attempt started in the database and start offliner when completed.
queue_->MarkAttemptStarted( queue_->MarkAttemptStarted(
request.request_id(), request.request_id(),
......
...@@ -39107,6 +39107,22 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries. ...@@ -39107,6 +39107,22 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries.
</summary> </summary>
</histogram> </histogram>
<histogram name="OfflinePages.Background.TimeToStart" units="ms">
<owner>dougarnett@chromium.org</owner>
<summary>
Time from background request until processing it was first started. This is
for non-svelte devices.
</summary>
</histogram>
<histogram name="OfflinePages.Background.TimeToStart.Svelte" units="ms">
<owner>dougarnett@chromium.org</owner>
<summary>
Time from background request until processing it was first started on svelte
device. Svelte is determined by base::SysInfo::IsLowEnd().
</summary>
</histogram>
<histogram name="OfflinePages.Background.UnsupportedScheme.ConnectionType" <histogram name="OfflinePages.Background.UnsupportedScheme.ConnectionType"
enum="NetworkConnectionType"> enum="NetworkConnectionType">
<owner>dougarnett@chromium.org</owner> <owner>dougarnett@chromium.org</owner>
...@@ -108675,6 +108691,8 @@ value. ...@@ -108675,6 +108691,8 @@ value.
<affected-histogram name="OfflinePages.Background.OfflinerRequestStatus"/> <affected-histogram name="OfflinePages.Background.OfflinerRequestStatus"/>
<affected-histogram name="OfflinePages.Background.TimeToCanceled"/> <affected-histogram name="OfflinePages.Background.TimeToCanceled"/>
<affected-histogram name="OfflinePages.Background.TimeToSaved"/> <affected-histogram name="OfflinePages.Background.TimeToSaved"/>
<affected-histogram name="OfflinePages.Background.TimeToStart"/>
<affected-histogram name="OfflinePages.Background.TimeToStart.Svelte"/>
<affected-histogram name="OfflinePages.DeletePage.AccessCount"/> <affected-histogram name="OfflinePages.DeletePage.AccessCount"/>
<affected-histogram name="OfflinePages.DeletePage.LastOpenToCreated"/> <affected-histogram name="OfflinePages.DeletePage.LastOpenToCreated"/>
<affected-histogram name="OfflinePages.DeletePage.PageSize"/> <affected-histogram name="OfflinePages.DeletePage.PageSize"/>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment