// Copyright 2018 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/metrics/expired_histogram_util.h" #include "base/feature_list.h" #include "base/metrics/field_trial_params.h" #include "base/metrics/statistics_recorder.h" #include "components/metrics/expired_histograms_checker.h" namespace metrics { namespace { const base::Feature kExpiredHistogramLogicFeature{ "ExpiredHistogramLogic", base::FEATURE_DISABLED_BY_DEFAULT}; // TODO(jwd): Remove when the study config is updated with the new param. const base::FeatureParam kWhitelistParam{ &kExpiredHistogramLogicFeature, "whitelist", ""}; const base::FeatureParam kAllowlistParam{ &kExpiredHistogramLogicFeature, "allowlist", ""}; } // namespace void EnableExpiryChecker(const uint64_t* expired_histograms_hashes, size_t num_expired_histograms) { DCHECK(base::FeatureList::GetInstance()); if (base::FeatureList::IsEnabled(kExpiredHistogramLogicFeature)) { std::string allowlist = kAllowlistParam.Get(); // TODO(jwd): Remove when the study config is updated with the new param. if (allowlist.empty()) allowlist = kWhitelistParam.Get(); base::StatisticsRecorder::SetRecordChecker( std::make_unique( expired_histograms_hashes, num_expired_histograms, allowlist)); } } } // namespace metrics