Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Unified Diff: components/user_prefs/tracked/tracked_preference_helper.cc

Issue 2204943002: Integrate registry_hash_store_contents with the rest of tracked prefs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Experiment with giving two transactions to EnforceAndReport Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..a913986e091d0b298bf6cfafcb37d3c1c3390780 100644
--- a/components/user_prefs/tracked/tracked_preference_helper.cc
+++ b/components/user_prefs/tracked/tracked_preference_helper.cc
@@ -51,46 +51,60 @@ bool TrackedPreferenceHelper::IsPersonal() const {
}
void TrackedPreferenceHelper::ReportValidationResult(
- PrefHashStoreTransaction::ValueState value_state) const {
+ PrefHashStoreTransaction::ValueState value_state,
+ HashStoreContentsType validation_type) const {
+ std::string histogram_name_prefix;
+ switch (validation_type) {
+ case HashStoreContentsType::DICTIONARY_HASH_STORE_CONTENTS:
+ // Don't add a prefix for consistency with existing metrics.
+ histogram_name_prefix = "";
+ break;
+ case HashStoreContentsType::REGISTRY_HASH_STORE_CONTENTS:
+ histogram_name_prefix = "RegistryStore";
+ break;
+ default:
+ NOTREACHED() << "Unexpected HashStoreContentsType";
+ }
+
+ std::string histogram_name;
gab 2016/08/03 18:19:36 const char* histogram_name; to avoid an unnecessa
proberge 2016/08/04 00:13:47 Done.
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_);
- return;
+ histogram_name =
+ user_prefs::tracked::kTrackedPrefHistogramNullInitialized;
+ break;
+ default:
+ NOTREACHED() << "Unexpected PrefHashStoreTransaction::ValueState: "
+ << value_state;
}
- NOTREACHED() << "Unexpected PrefHashStoreTransaction::ValueState: "
- << value_state;
+
+ // Using FactoryGet to allow dynamic histogram names. Should be equivalent to
+ // UMA_HISTOGRAM_ENUMERATION(name, reporting_id_, reporting_ids_count_);
+ // TODO: RegistryStoreSettings.TrackedPreferenceInitialized does not match
+ // format from histograms.xml.
+ base::HistogramBase* histogram = base::LinearHistogram::FactoryGet(
+ histogram_name_prefix.append(histogram_name), 1, reporting_ids_count_,
gab 2016/08/03 18:19:36 Add a '.' between prefix and base histogram name
proberge 2016/08/04 00:13:46 Done. Any more efficient way than doing two append
gab 2016/08/05 19:59:25 In C++ strings are mutable so two appends is effic
+ reporting_ids_count_ + 1, base::HistogramBase::kUmaTargetedHistogramFlag);
+ histogram->Add(reporting_id_);
}
void TrackedPreferenceHelper::ReportAction(ResetAction reset_action) const {

Powered by Google App Engine
This is Rietveld 408576698