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

Unified Diff: chrome/browser/chromeos/first_run/first_run_controller.cc

Issue 131023003: Added UMA metrics for ChromeOS first-run UI. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 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/first_run/first_run_controller.cc
diff --git a/chrome/browser/chromeos/first_run/first_run_controller.cc b/chrome/browser/chromeos/first_run/first_run_controller.cc
index 65ed426262490cad3ad76a610e7dbaf2ea45b2b7..bda111790fcafc9034e391ba48130f44ab35fe59 100644
--- a/chrome/browser/chromeos/first_run/first_run_controller.cc
+++ b/chrome/browser/chromeos/first_run/first_run_controller.cc
@@ -7,7 +7,9 @@
#include "ash/shell.h"
#include "base/logging.h"
#include "base/message_loop/message_loop.h"
+#include "base/metrics/histogram.h"
#include "chrome/browser/chromeos/first_run/first_run_view.h"
+#include "chrome/browser/chromeos/first_run/metrics.h"
#include "chrome/browser/chromeos/first_run/steps/app_list_step.h"
#include "chrome/browser/chromeos/first_run/steps/help_step.h"
#include "chrome/browser/chromeos/first_run/steps/tray_step.h"
@@ -23,6 +25,12 @@ size_t NONE_STEP_INDEX = std::numeric_limits<size_t>::max();
// running now.
chromeos::FirstRunController* g_instance;
+void RecordCompletion(chromeos::first_run::TutorialCompletion type) {
+ UMA_HISTOGRAM_ENUMERATION("CrosFirstRun.TutorialCompletion",
+ type,
+ chromeos::first_run::kTutorialCompletionSize);
+}
+
} // namespace
namespace chromeos {
@@ -61,6 +69,7 @@ FirstRunController::FirstRunController()
}
void FirstRunController::Init() {
+ start_time_ = base::Time::Now();
UserManager* user_manager = UserManager::Get();
user_profile_ = user_manager->GetProfileByUser(user_manager->GetActiveUser());
@@ -81,6 +90,14 @@ void FirstRunController::Init() {
}
void FirstRunController::Finalize() {
+ int furthest_step = current_step_index_ == NONE_STEP_INDEX
+ ? steps_.size() - 1
+ : current_step_index_;
+ UMA_HISTOGRAM_ENUMERATION("CrosFirstRun.FurthestStep",
+ furthest_step,
+ steps_.size());
+ UMA_HISTOGRAM_MEDIUM_TIMES("CrosFirstRun.TimeSpent",
+ base::Time::Now() - start_time_);
if (GetCurrentStep())
GetCurrentStep()->OnBeforeHide();
steps_.clear();
@@ -103,6 +120,7 @@ void FirstRunController::OnNextButtonClicked(const std::string& step_name) {
}
void FirstRunController::OnHelpButtonClicked() {
+ RecordCompletion(first_run::kTutorialCompletedWithKeepExploring);
on_actor_finalized_ = base::Bind(chrome::ShowHelpForProfile,
user_profile_,
chrome::HOST_DESKTOP_TYPE_ASH,
@@ -135,6 +153,7 @@ void FirstRunController::OnActorDestroyed() {
}
void FirstRunController::OnCancelled() {
+ RecordCompletion(first_run::kTutorialNotFinished);
Stop();
}
@@ -149,10 +168,12 @@ void FirstRunController::RegisterSteps() {
void FirstRunController::ShowNextStep() {
AdvanceStep();
- if (GetCurrentStep())
- GetCurrentStep()->Show();
- else
+ if (!GetCurrentStep()) {
actor_->Finalize();
+ RecordCompletion(first_run::kTutorialCompletedWithGotIt);
+ return;
+ }
+ GetCurrentStep()->Show();
}
void FirstRunController::AdvanceStep() {
« no previous file with comments | « chrome/browser/chromeos/first_run/first_run_controller.h ('k') | chrome/browser/chromeos/first_run/metrics.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698