| // Copyright 2022 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef BASE_CPU_REDUCTION_EXPERIMENT_H_ |
| #define BASE_CPU_REDUCTION_EXPERIMENT_H_ |
| |
| #include "base/base_export.h" |
| |
| namespace base { |
| |
| // Returns whether the cpu cycle reduction experiment is running. |
| // The goal of this experiment is to better understand the relationship between |
| // total CPU cycles used across the fleet and top-line chrome metrics. |
| BASE_EXPORT bool IsRunningCpuReductionExperiment(); |
| |
| // Must be called after FeatureList initialization and while chrome is still |
| // single-threaded. |
| BASE_EXPORT void InitializeCpuReductionExperiment(); |
| |
| // Returns true if the next sample should be recorded to an histogram |
| // sub-sampled under the CPU reduction experiment. Returns true randomly for |
| // ~1/1000 calls when the experiment is enabled, or always returns true when the |
| // experiment is disabled. |
| BASE_EXPORT bool ShouldLogHistogramForCpuReductionExperiment(); |
| |
| } // namespace base |
| |
| #endif // BASE_CPU_REDUCTION_EXPERIMENT_H_ |