Chromium Code Reviews| Index: components/user_prefs/tracked/tracked_preference_helper.cc |
| diff --git a/components/user_prefs/tracked/tracked_preference_helper.cc b/components/user_prefs/tracked/tracked_preference_helper.cc |
| index f2e6883cf8ad995c25f1cc2d4355c1464e0c8b5f..d30b303a1dbdaf20b909a63250cb4c906760928e 100644 |
| --- a/components/user_prefs/tracked/tracked_preference_helper.cc |
| +++ b/components/user_prefs/tracked/tracked_preference_helper.cc |
| @@ -51,46 +51,50 @@ bool TrackedPreferenceHelper::IsPersonal() const { |
| } |
| void TrackedPreferenceHelper::ReportValidationResult( |
| - PrefHashStoreTransaction::ValueState value_state) const { |
| + PrefHashStoreTransaction::ValueState value_state, |
| + const std::string& validation_type_suffix) const { |
| + const char* histogram_name; |
| switch (value_state) { |
| case PrefHashStoreTransaction::UNCHANGED: |
| - UMA_HISTOGRAM_ENUMERATION( |
| - user_prefs::tracked::kTrackedPrefHistogramUnchanged, reporting_id_, |
| - reporting_ids_count_); |
| - return; |
| + histogram_name = user_prefs::tracked::kTrackedPrefHistogramUnchanged; |
| + break; |
| case PrefHashStoreTransaction::CLEARED: |
| - UMA_HISTOGRAM_ENUMERATION( |
| - user_prefs::tracked::kTrackedPrefHistogramCleared, reporting_id_, |
| - reporting_ids_count_); |
| - return; |
| + histogram_name = user_prefs::tracked::kTrackedPrefHistogramCleared; |
| + break; |
| case PrefHashStoreTransaction::SECURE_LEGACY: |
| - UMA_HISTOGRAM_ENUMERATION( |
| - user_prefs::tracked::kTrackedPrefHistogramMigratedLegacyDeviceId, |
| - reporting_id_, reporting_ids_count_); |
| - return; |
| + histogram_name = |
| + user_prefs::tracked::kTrackedPrefHistogramMigratedLegacyDeviceId; |
| + break; |
| case PrefHashStoreTransaction::CHANGED: |
| - UMA_HISTOGRAM_ENUMERATION( |
| - user_prefs::tracked::kTrackedPrefHistogramChanged, reporting_id_, |
| - reporting_ids_count_); |
| - return; |
| + histogram_name = user_prefs::tracked::kTrackedPrefHistogramChanged; |
| + break; |
| case PrefHashStoreTransaction::UNTRUSTED_UNKNOWN_VALUE: |
| - UMA_HISTOGRAM_ENUMERATION( |
| - user_prefs::tracked::kTrackedPrefHistogramInitialized, reporting_id_, |
| - reporting_ids_count_); |
| - return; |
| + histogram_name = user_prefs::tracked::kTrackedPrefHistogramInitialized; |
| + break; |
| case PrefHashStoreTransaction::TRUSTED_UNKNOWN_VALUE: |
| - UMA_HISTOGRAM_ENUMERATION( |
| - user_prefs::tracked::kTrackedPrefHistogramTrustedInitialized, |
| - reporting_id_, reporting_ids_count_); |
| - return; |
| + histogram_name = |
| + user_prefs::tracked::kTrackedPrefHistogramTrustedInitialized; |
| + break; |
| case PrefHashStoreTransaction::TRUSTED_NULL_VALUE: |
| - UMA_HISTOGRAM_ENUMERATION( |
| - user_prefs::tracked::kTrackedPrefHistogramNullInitialized, |
| - reporting_id_, reporting_ids_count_); |
| + histogram_name = |
| + user_prefs::tracked::kTrackedPrefHistogramNullInitialized; |
| + break; |
| + default: |
| + NOTREACHED() << "Unexpected PrefHashStoreTransaction::ValueState: " |
| + << value_state; |
| return; |
| } |
| - NOTREACHED() << "Unexpected PrefHashStoreTransaction::ValueState: " |
| - << value_state; |
| + |
| + std::string full_histogram_name(histogram_name); |
| + if (!validation_type_suffix.empty()) |
| + full_histogram_name.append(".").append(validation_type_suffix); |
| + |
| + // Using FactoryGet to allow dynamic histogram names. Should be equivalent to |
|
gab
2016/08/08 04:37:47
s/Should be equivalent to/This is equivalent to/
proberge
2016/08/31 17:30:17
Done.
|
| + // UMA_HISTOGRAM_ENUMERATION(name, reporting_id_, reporting_ids_count_); |
| + base::HistogramBase* histogram = base::LinearHistogram::FactoryGet( |
| + full_histogram_name, 1, reporting_ids_count_, reporting_ids_count_ + 1, |
| + base::HistogramBase::kUmaTargetedHistogramFlag); |
| + histogram->Add(reporting_id_); |
|
gab
2016/08/08 04:37:47
The change to introduce GetUMASuffix() and changin
proberge
2016/08/31 17:30:17
Acknowledged.
|
| } |
| void TrackedPreferenceHelper::ReportAction(ResetAction reset_action) const { |