summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrlp@chromium.org <rlp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-17 22:36:11 +0000
committerrlp@chromium.org <rlp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-17 22:36:11 +0000
commit947d6b051e39431e613bf6fb3933c4c7430d870a (patch)
treec70f4aa353a162936538bec9a287bb2776450dc7
parent6b91dc2bc130c95fe3a25684b38bc69fa91f25f0 (diff)
downloadchromium_src-947d6b051e39431e613bf6fb3933c4c7430d870a.zip
chromium_src-947d6b051e39431e613bf6fb3933c4c7430d870a.tar.gz
chromium_src-947d6b051e39431e613bf6fb3933c4c7430d870a.tar.bz2
Merge 110414 - Updating the UMA metrics for profiles to make them more readable.
BUG=93825 TEST=none Review URL: http://codereview.chromium.org/8520024 TBR=rlp@chromium.org Review URL: http://codereview.chromium.org/8587057 git-svn-id: svn://svn.chromium.org/chrome/branches/912/src@110576 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/profiles/avatar_menu_model.cc5
-rw-r--r--chrome/browser/profiles/profile_metrics.cc62
-rw-r--r--chrome/browser/profiles/profile_metrics.h41
-rw-r--r--chrome/browser/ui/cocoa/profile_menu_controller.mm5
-rw-r--r--chrome/browser/ui/webui/options/manage_profile_handler.cc2
5 files changed, 83 insertions, 32 deletions
diff --git a/chrome/browser/profiles/avatar_menu_model.cc b/chrome/browser/profiles/avatar_menu_model.cc
index 4f86a66..c8fcddf3 100644
--- a/chrome/browser/profiles/avatar_menu_model.cc
+++ b/chrome/browser/profiles/avatar_menu_model.cc
@@ -81,7 +81,7 @@ void AvatarMenuModel::SwitchToProfile(size_t index) {
ProfileSwitchObserver* observer = new ProfileSwitchObserver();
g_browser_process->profile_manager()->CreateProfileAsync(
path, observer);
- ProfileMetrics::LogProfileOpenMethod(ProfileMetrics::SWITCH_PROFILE_ICON);
+ ProfileMetrics::LogProfileSwitchUser(ProfileMetrics::SWITCH_PROFILE_ICON);
}
void AvatarMenuModel::EditProfile(size_t index) {
@@ -99,8 +99,7 @@ void AvatarMenuModel::EditProfile(size_t index) {
void AvatarMenuModel::AddNewProfile() {
ProfileManager::CreateMultiProfileAsync();
- ProfileMetrics::LogProfileOpenMethod(ProfileMetrics::ADD_NEW_USER);
- ProfileMetrics::LogProfileOpenMethod(ProfileMetrics::ADD_NEW_USER_ICON);
+ ProfileMetrics::LogProfileAddNewUser(ProfileMetrics::ADD_NEW_USER_ICON);
}
size_t AvatarMenuModel::GetNumberOfItems() {
diff --git a/chrome/browser/profiles/profile_metrics.cc b/chrome/browser/profiles/profile_metrics.cc
index 3ead76d5..f9ab3da 100644
--- a/chrome/browser/profiles/profile_metrics.cc
+++ b/chrome/browser/profiles/profile_metrics.cc
@@ -37,58 +37,85 @@ void ProfileMetrics::LogProfileAvatarSelection(size_t icon_index) {
switch (icon_index) {
case 0:
icon_name = AVATAR_GENERIC;
+ break;
case 1:
icon_name = AVATAR_GENERIC_AQUA;
+ break;
case 2:
icon_name = AVATAR_GENERIC_BLUE;
+ break;
case 3:
icon_name = AVATAR_GENERIC_GREEN;
+ break;
case 4:
icon_name = AVATAR_GENERIC_ORANGE;
+ break;
case 5:
icon_name = AVATAR_GENERIC_PURPLE;
+ break;
case 6:
icon_name = AVATAR_GENERIC_RED;
+ break;
case 7:
icon_name = AVATAR_GENERIC_YELLOW;
+ break;
case 8:
icon_name = AVATAR_SECRET_AGENT;
+ break;
case 9:
icon_name = AVATAR_SUPERHERO;
+ break;
case 10:
icon_name = AVATAR_VOLLEYBALL;
+ break;
case 11:
icon_name = AVATAR_BUSINESSMAN;
+ break;
case 12:
icon_name = AVATAR_NINJA;
+ break;
case 13:
icon_name = AVATAR_ALIEN;
+ break;
case 14:
icon_name = AVATAR_AWESOME;
+ break;
case 15:
icon_name = AVATAR_FLOWER;
+ break;
case 16:
icon_name = AVATAR_PIZZA;
+ break;
case 17:
icon_name = AVATAR_SOCCER;
+ break;
case 18:
icon_name = AVATAR_BURGER;
+ break;
case 19:
icon_name = AVATAR_CAT;
+ break;
case 20:
icon_name = AVATAR_CUPCAKE;
+ break;
case 21:
icon_name = AVATAR_DOG;
+ break;
case 22:
icon_name = AVATAR_HORSE;
+ break;
case 23:
icon_name = AVATAR_MARGARITA;
+ break;
case 24:
icon_name = AVATAR_NOTE;
+ break;
case 25:
icon_name = AVATAR_SUN_CLOUD;
+ break;
default: // We should never actually get here, but just in case
icon_name = AVATAR_UNKNOWN;
+ break;
}
UMA_HISTOGRAM_ENUMERATION("Profile.Avatar", icon_name,
NUM_PROFILE_AVATAR_METRICS);
@@ -96,13 +123,33 @@ void ProfileMetrics::LogProfileAvatarSelection(size_t icon_index) {
void ProfileMetrics::LogProfileOpenMethod(ProfileOpen metric) {
DCHECK(metric < NUM_PROFILE_OPEN_METRICS);
- UMA_HISTOGRAM_ENUMERATION("Profile.Opening", metric,
+ UMA_HISTOGRAM_ENUMERATION("Profile.OpenMethod", metric,
NUM_PROFILE_OPEN_METRICS);
}
+void ProfileMetrics::LogProfileAddNewUser(ProfileAdd metric) {
+ DCHECK(metric < NUM_PROFILE_ADD_METRICS);
+ UMA_HISTOGRAM_ENUMERATION("Profile.AddNewUser", metric,
+ NUM_PROFILE_ADD_METRICS);
+ UMA_HISTOGRAM_ENUMERATION("Profile.NetUserCount", ADD_NEW_USER,
+ NUM_PROFILE_NET_METRICS);
+}
+
+void ProfileMetrics::LogProfileSwitchUser(ProfileOpen metric) {
+ DCHECK(metric < NUM_PROFILE_OPEN_METRICS);
+ UMA_HISTOGRAM_ENUMERATION("Profile.OpenMethod", metric,
+ NUM_PROFILE_OPEN_METRICS);
+}
+
+void ProfileMetrics::LogProfileDeleteUser(ProfileNetUserCounts metric) {
+ DCHECK(metric < NUM_PROFILE_NET_METRICS);
+ UMA_HISTOGRAM_ENUMERATION("Profile.NetUserCount", metric,
+ NUM_PROFILE_NET_METRICS);
+}
+
void ProfileMetrics::LogProfileSyncInfo(ProfileSync metric) {
DCHECK(metric < NUM_PROFILE_SYNC_METRICS);
- UMA_HISTOGRAM_ENUMERATION("Profile.Sync", metric,
+ UMA_HISTOGRAM_ENUMERATION("Profile.SyncCustomize", metric,
NUM_PROFILE_SYNC_METRICS);
}
@@ -113,12 +160,7 @@ void ProfileMetrics::LogProfileUpdate(FilePath& profile_path) {
}
void ProfileMetrics::LogProfileSyncSignIn(FilePath& profile_path) {
- ProfileSync metric = SYNC_SIGN_IN_ORIGINAL;
- if (GetProfileType(profile_path) == SECONDARY) {
- metric = SYNC_SIGN_IN_SECONDARY;
- }
- UMA_HISTOGRAM_ENUMERATION("Profile.Sync", SYNC_SIGN_IN,
- NUM_PROFILE_SYNC_METRICS);
- UMA_HISTOGRAM_ENUMERATION("Profile.Sync", metric,
- NUM_PROFILE_SYNC_METRICS);
+ UMA_HISTOGRAM_ENUMERATION("Profile.SyncSignIn",
+ GetProfileType(profile_path),
+ NUM_PROFILE_TYPE_METRICS);
}
diff --git a/chrome/browser/profiles/profile_metrics.h b/chrome/browser/profiles/profile_metrics.h
index 68d221c..7d7c897 100644
--- a/chrome/browser/profiles/profile_metrics.h
+++ b/chrome/browser/profiles/profile_metrics.h
@@ -45,30 +45,38 @@ class ProfileMetrics {
NUM_PROFILE_AVATAR_METRICS
};
+ // Enum for counting the ways users were added.
+ enum ProfileAdd {
+ ADD_NEW_USER_ICON = 0, // User adds new user from icon menu
+ ADD_NEW_USER_MENU, // User adds new user from menu bar
+ NUM_PROFILE_ADD_METRICS
+ };
+
+ // Enum for counting the ways user profiles and menus were opened.
enum ProfileOpen {
- ADD_NEW_USER = 0, // Total count of add new user
- ADD_NEW_USER_ICON, // User adds new user from icon menu
- ADD_NEW_USER_MENU, // User adds new user from menu bar
- SWITCH_PROFILE_ICON, // User switches profiles from icon menu
- SWITCH_PROFILE_MENU, // User switches profiles from menu bar
- NTP_AVATAR_BUBBLE, // User opens avatar icon menu from NTP
- ICON_AVATAR_BUBBLE, // User opens avatar icon menu from icon
- PROFILE_DELETED, // User deleted a profile
+ NTP_AVATAR_BUBBLE = 0, // User opens avatar icon menu from NTP
+ ICON_AVATAR_BUBBLE, // User opens avatar icon menu from icon
+ SWITCH_PROFILE_ICON, // User switches profiles from icon menu
+ SWITCH_PROFILE_MENU, // User switches profiles from menu bar
NUM_PROFILE_OPEN_METRICS
};
+ // Enum for getting net counts for adding and deleting users.
+ enum ProfileNetUserCounts {
+ ADD_NEW_USER = 0, // Total count of add new user
+ PROFILE_DELETED, // User deleted a profile
+ NUM_PROFILE_NET_METRICS
+ };
+
// Sign in is logged once the user has entered their GAIA information.
// See sync_setup_flow.h.
// The options for sync are logged after the user has submitted the options
// form. See sync_setup_handler.h.
enum ProfileSync {
- SYNC_SIGN_IN = 0, // User signed into sync
- SYNC_SIGN_IN_ORIGINAL, // User signed into sync in original profile
- SYNC_SIGN_IN_SECONDARY, // User signed into sync in secondary profile
- SYNC_CUSTOMIZE, // User decided to customize sync
- SYNC_CHOOSE, // User chose what to sync
- SYNC_ENCRYPT, // User has chosen to encrypt all data
- SYNC_PASSPHRASE, // User is using a passphrase
+ SYNC_CUSTOMIZE = 0, // User decided to customize sync
+ SYNC_CHOOSE, // User chose what to sync
+ SYNC_ENCRYPT, // User has chosen to encrypt all data
+ SYNC_PASSPHRASE, // User is using a passphrase
NUM_PROFILE_SYNC_METRICS
};
@@ -80,6 +88,9 @@ class ProfileMetrics {
static void LogProfileAvatarSelection(size_t icon_index);
static void LogProfileOpenMethod(ProfileOpen metric);
+ static void LogProfileAddNewUser(ProfileAdd metric);
+ static void LogProfileSwitchUser(ProfileOpen metric);
+ static void LogProfileDeleteUser(ProfileNetUserCounts metric);
static void LogProfileSyncInfo(ProfileSync metric);
static void LogProfileUpdate(FilePath& profile_path);
static void LogProfileSyncSignIn(FilePath& profile_path);
diff --git a/chrome/browser/ui/cocoa/profile_menu_controller.mm b/chrome/browser/ui/cocoa/profile_menu_controller.mm
index de86017..053e65f 100644
--- a/chrome/browser/ui/cocoa/profile_menu_controller.mm
+++ b/chrome/browser/ui/cocoa/profile_menu_controller.mm
@@ -82,7 +82,7 @@ class Observer : public BrowserList::Observer,
- (IBAction)switchToProfile:(id)sender {
model_->SwitchToProfile([sender tag]);
- ProfileMetrics::LogProfileOpenMethod(ProfileMetrics::SWITCH_PROFILE_MENU);
+ ProfileMetrics::LogProfileSwitchUser(ProfileMetrics::SWITCH_PROFILE_MENU);
}
- (IBAction)editProfile:(id)sender {
@@ -91,8 +91,7 @@ class Observer : public BrowserList::Observer,
- (IBAction)newProfile:(id)sender {
model_->AddNewProfile();
- ProfileMetrics::LogProfileOpenMethod(ProfileMetrics::ADD_NEW_USER);
- ProfileMetrics::LogProfileOpenMethod(ProfileMetrics::ADD_NEW_USER_MENU);
+ ProfileMetrics::LogProfileAddNewUser(ProfileMetrics::ADD_NEW_USER_MENU);
}
// Private /////////////////////////////////////////////////////////////////////
diff --git a/chrome/browser/ui/webui/options/manage_profile_handler.cc b/chrome/browser/ui/webui/options/manage_profile_handler.cc
index 5a496c28..1419571 100644
--- a/chrome/browser/ui/webui/options/manage_profile_handler.cc
+++ b/chrome/browser/ui/webui/options/manage_profile_handler.cc
@@ -138,7 +138,7 @@ void ManageProfileHandler::SetProfileNameAndIcon(const ListValue* args) {
void ManageProfileHandler::DeleteProfile(const ListValue* args) {
DCHECK(args);
- ProfileMetrics::LogProfileOpenMethod(ProfileMetrics::PROFILE_DELETED);
+ ProfileMetrics::LogProfileDeleteUser(ProfileMetrics::PROFILE_DELETED);
Value* file_path_value;
FilePath profile_file_path;