diff options
author | rlp@chromium.org <rlp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-17 22:36:11 +0000 |
---|---|---|
committer | rlp@chromium.org <rlp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-17 22:36:11 +0000 |
commit | 947d6b051e39431e613bf6fb3933c4c7430d870a (patch) | |
tree | c70f4aa353a162936538bec9a287bb2776450dc7 | |
parent | 6b91dc2bc130c95fe3a25684b38bc69fa91f25f0 (diff) | |
download | chromium_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.cc | 5 | ||||
-rw-r--r-- | chrome/browser/profiles/profile_metrics.cc | 62 | ||||
-rw-r--r-- | chrome/browser/profiles/profile_metrics.h | 41 | ||||
-rw-r--r-- | chrome/browser/ui/cocoa/profile_menu_controller.mm | 5 | ||||
-rw-r--r-- | chrome/browser/ui/webui/options/manage_profile_handler.cc | 2 |
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; |