xref: /aosp_15_r20/external/cronet/components/metrics/expired_histogram_util.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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 Worker void 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