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

Unified Diff: chrome/browser/chromeos/login/screens/user_image_screen.cc

Issue 1130603006: Added histograms for tracking new user's priority prefs sync time and results. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comments addressed. Created 5 years, 7 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: chrome/browser/chromeos/login/screens/user_image_screen.cc
diff --git a/chrome/browser/chromeos/login/screens/user_image_screen.cc b/chrome/browser/chromeos/login/screens/user_image_screen.cc
index f450f9e1afeaec0f1a4d1f195315b08fa22bffdc..d37d4f3f150806e1a3c1cee27fbc6c0baf667b10 100644
--- a/chrome/browser/chromeos/login/screens/user_image_screen.cc
+++ b/chrome/browser/chromeos/login/screens/user_image_screen.cc
@@ -125,6 +125,7 @@ void UserImageScreen::OnDecodeImageFailed() {
void UserImageScreen::OnInitialSync(bool local_image_updated) {
DCHECK(sync_timer_);
+ ReportSyncResult(SyncResult::SUCCEED);
if (!local_image_updated) {
sync_timer_.reset();
GetSyncObserver()->RemoveObserver(this);
@@ -136,6 +137,7 @@ void UserImageScreen::OnInitialSync(bool local_image_updated) {
}
void UserImageScreen::OnSyncTimeout() {
+ ReportSyncResult(SyncResult::TIMED_OUT);
sync_timer_.reset();
GetSyncObserver()->RemoveObserver(this);
if (is_screen_ready_)
@@ -261,8 +263,10 @@ void UserImageScreen::Show() {
if (GetUser()->CanSyncImage()) {
if (UserImageSyncObserver* sync_observer = GetSyncObserver()) {
+ sync_waiting_start_time_ = base::Time::Now();
// We have synced image already.
if (sync_observer->is_synced()) {
+ ReportSyncResult(SyncResult::SUCCEED);
ExitScreen();
return;
}
@@ -342,4 +346,12 @@ void UserImageScreen::ExitScreen() {
Finish(BaseScreenDelegate::USER_IMAGE_SELECTED);
}
+void UserImageScreen::ReportSyncResult(SyncResult timed_out) const {
+ base::TimeDelta duration = base::Time::Now() - sync_waiting_start_time_;
+ UMA_HISTOGRAM_TIMES("Login.NewUserPriorityPrefsSyncTime", duration);
+ UMA_HISTOGRAM_ENUMERATION("Login.NewUserPriorityPrefsSyncResult",
+ static_cast<int>(timed_out),
+ static_cast<int>(SyncResult::COUNT));
Ilya Sherman 2015/05/15 20:41:31 nit: No need for the static_casts.
dzhioev (left Google) 2015/05/15 21:14:42 static_cast is needed here, because the enum is a
Ilya Sherman 2015/05/15 21:34:54 Ah, bummer. I'm generally a fan of strongly typed
+}
+
} // namespace chromeos

Powered by Google App Engine
This is Rietveld 408576698