1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- // Copyright 2020 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #include "components/profile_metrics/state.h"
- #include "base/metrics/histogram_functions.h"
- namespace profile_metrics {
- namespace {
- std::string GetStateSuffix(StateSuffix suffix) {
- switch (suffix) {
- case StateSuffix::kAll:
- return "_All";
- case StateSuffix::kActiveMultiProfile:
- return "_ActiveMultiProfile";
- case StateSuffix::kLatentMultiProfile:
- return "_LatentMultiProfile";
- case StateSuffix::kLatentMultiProfileActive:
- return "_LatentMultiProfileActive";
- case StateSuffix::kLatentMultiProfileOthers:
- return "_LatentMultiProfileOthers";
- case StateSuffix::kSingleProfile:
- return "_SingleProfile";
- case StateSuffix::kUponDeletion:
- return "_UponDeletion";
- }
- }
- // Context for profile deletion.
- // These values are persisted to logs. Entries should not be renumbered and
- // numeric values should never be reused.
- enum class DeleteProfileContext {
- kWithoutBrowserLastProfile = 0,
- kWithoutBrowserAdditionalProfile = 1,
- kWithBrowserLastProfile = 2,
- kWithBrowserAdditionalProfile = 3,
- kMaxValue = kWithBrowserAdditionalProfile
- };
- } // namespace
- void LogProfileAvatar(AvatarState avatar_state, StateSuffix suffix) {
- base::UmaHistogramEnumeration("Profile.State.Avatar" + GetStateSuffix(suffix),
- avatar_state);
- }
- void LogProfileName(NameState name_state, StateSuffix suffix) {
- base::UmaHistogramEnumeration("Profile.State.Name" + GetStateSuffix(suffix),
- name_state);
- }
- void LogProfileAccountType(UnconsentedPrimaryAccountType account_type,
- StateSuffix suffix) {
- base::UmaHistogramEnumeration(
- "Profile.State.UnconsentedPrimaryAccountType" + GetStateSuffix(suffix),
- account_type);
- }
- void LogProfileSyncEnabled(bool sync_enabled, StateSuffix suffix) {
- base::UmaHistogramBoolean(
- "Profile.State.SyncEnabled" + GetStateSuffix(suffix), sync_enabled);
- }
- void LogProfileDaysSinceLastUse(int days_since_last_use, StateSuffix suffix) {
- base::UmaHistogramCounts1000(
- "Profile.State.LastUsed" + GetStateSuffix(suffix), days_since_last_use);
- }
- void LogProfileDeletionContext(bool is_last_profile, bool no_browser_windows) {
- DeleteProfileContext context;
- if (no_browser_windows) {
- if (is_last_profile) {
- context = DeleteProfileContext::kWithoutBrowserLastProfile;
- } else {
- context = DeleteProfileContext::kWithoutBrowserAdditionalProfile;
- }
- } else {
- if (is_last_profile) {
- context = DeleteProfileContext::kWithBrowserLastProfile;
- } else {
- context = DeleteProfileContext::kWithBrowserAdditionalProfile;
- }
- }
- base::UmaHistogramEnumeration("Profile.DeleteProfileContext", context);
- }
- void LogProfileAllAccountsNames(AllAccountsNames names) {
- base::UmaHistogramEnumeration("Profile.AllAccounts.Names", names);
- }
- void LogProfileAllAccountsCategories(AllAccountsCategories categories) {
- base::UmaHistogramEnumeration("Profile.AllAccounts.Categories", categories);
- }
- } // namespace profile_metrics
|