// 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"; } } } // 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 LogProfileDaysSinceLastUse(int days_since_last_use, StateSuffix suffix) { base::UmaHistogramCounts1000( "Profile.State.LastUsed" + GetStateSuffix(suffix), days_since_last_use); } void LogProfileAllAccountsNames(AllAccountsNames names) { base::UmaHistogramEnumeration("Profile.AllAccounts.Names", names); } void LogProfileAllAccountsCategories(AllAccountsCategories categories) { base::UmaHistogramEnumeration("Profile.AllAccounts.Categories", categories); } } // namespace profile_metrics