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

Unified Diff: components/offline_pages/core/background/request_coordinator.cc

Issue 2751253004: [Offline Pages] Add UMA to record final offline request status and loading failed error code. (Closed)
Patch Set: rebase Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: components/offline_pages/core/background/request_coordinator.cc
diff --git a/components/offline_pages/core/background/request_coordinator.cc b/components/offline_pages/core/background/request_coordinator.cc
index 5370b1c6c61b7adfeb28e57e3b8873ac0500ea2f..8060d6af4ab0678672c381b76ee821aabf821870 100644
--- a/components/offline_pages/core/background/request_coordinator.cc
+++ b/components/offline_pages/core/background/request_coordinator.cc
@@ -44,7 +44,7 @@ std::string AddHistogramSuffix(const ClientId& client_id,
return adjusted_histogram_name;
}
-// Records the final request status UMA for an offlining request. This should
+// Records the request status UMA for an offlining request. This should
// only be called once per Offliner::LoadAndSave request.
void RecordOfflinerResultUMA(const ClientId& client_id,
const base::Time& request_creation_time,
@@ -73,6 +73,27 @@ void RecordOfflinerResultUMA(const ClientId& client_id,
}
}
+// Records final request status UMA for an offlining request. This should only
+// be called once per Offliner::LoadAndSave request. Every Offliner::LoadAndSave
+// request should also call this once.
+void RecordSavePageResultUMA(
+ const ClientId& client_id,
+ RequestNotifier::BackgroundSavePageResult request_status) {
+ // The histogram below is an expansion of the UMA_HISTOGRAM_ENUMERATION
+ // macro adapted to allow for a dynamically suffixed histogram name.
+ // Note: The factory creates and owns the histogram.
+ base::HistogramBase* histogram = base::LinearHistogram::FactoryGet(
+ AddHistogramSuffix(client_id,
+ "OfflinePages.Background.FinalSavePageResult"),
+ 1,
+ static_cast<int>(RequestNotifier::BackgroundSavePageResult::STATUS_COUNT),
+ static_cast<int>(
+ RequestNotifier::BackgroundSavePageResult::STATUS_COUNT) +
+ 1,
+ base::HistogramBase::kUmaTargetedHistogramFlag);
+ histogram->Add(static_cast<int>(request_status));
+}
+
void RecordStartTimeUMA(const SavePageRequest& request) {
std::string histogram_name("OfflinePages.Background.TimeToStart");
if (base::SysInfo::IsLowEndDevice()) {
@@ -1079,6 +1100,7 @@ void RequestCoordinator::NotifyAdded(const SavePageRequest& request) {
void RequestCoordinator::NotifyCompleted(
const SavePageRequest& request,
RequestNotifier::BackgroundSavePageResult status) {
+ RecordSavePageResultUMA(request.client_id(), status);
for (Observer& observer : observers_)
observer.OnCompleted(request, status);
}

Powered by Google App Engine
This is Rietveld 408576698