1*6777b538SAndroid Build Coastguard Worker // Copyright 2018 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #include "components/metrics/expired_histogram_util.h" 6*6777b538SAndroid Build Coastguard Worker 7*6777b538SAndroid Build Coastguard Worker #include "base/feature_list.h" 8*6777b538SAndroid Build Coastguard Worker #include "base/metrics/field_trial_params.h" 9*6777b538SAndroid Build Coastguard Worker #include "base/metrics/statistics_recorder.h" 10*6777b538SAndroid Build Coastguard Worker #include "components/metrics/expired_histograms_checker.h" 11*6777b538SAndroid Build Coastguard Worker 12*6777b538SAndroid Build Coastguard Worker namespace metrics { 13*6777b538SAndroid Build Coastguard Worker namespace { 14*6777b538SAndroid Build Coastguard Worker 15*6777b538SAndroid Build Coastguard Worker BASE_FEATURE(kExpiredHistogramLogicFeature, 16*6777b538SAndroid Build Coastguard Worker "ExpiredHistogramLogic", 17*6777b538SAndroid Build Coastguard Worker base::FEATURE_DISABLED_BY_DEFAULT); 18*6777b538SAndroid Build Coastguard Worker 19*6777b538SAndroid Build Coastguard Worker const base::FeatureParam<std::string> kAllowlistParam{ 20*6777b538SAndroid Build Coastguard Worker &kExpiredHistogramLogicFeature, "allowlist", ""}; 21*6777b538SAndroid Build Coastguard Worker 22*6777b538SAndroid Build Coastguard Worker } // namespace 23*6777b538SAndroid Build Coastguard Worker EnableExpiryChecker(base::span<const uint32_t> expired_histograms_hashes)24*6777b538SAndroid Build Coastguard Workervoid EnableExpiryChecker(base::span<const uint32_t> expired_histograms_hashes) { 25*6777b538SAndroid Build Coastguard Worker DCHECK(base::FeatureList::GetInstance()); 26*6777b538SAndroid Build Coastguard Worker if (base::FeatureList::IsEnabled(kExpiredHistogramLogicFeature)) { 27*6777b538SAndroid Build Coastguard Worker std::string allowlist = kAllowlistParam.Get(); 28*6777b538SAndroid Build Coastguard Worker base::StatisticsRecorder::SetRecordChecker( 29*6777b538SAndroid Build Coastguard Worker std::make_unique<ExpiredHistogramsChecker>(expired_histograms_hashes, 30*6777b538SAndroid Build Coastguard Worker allowlist)); 31*6777b538SAndroid Build Coastguard Worker } 32*6777b538SAndroid Build Coastguard Worker } 33*6777b538SAndroid Build Coastguard Worker 34*6777b538SAndroid Build Coastguard Worker } // namespace metrics 35