// Copyright 2021 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "components/metrics/metrics_data_validation.h" #include "base/feature_list.h" #include "base/metrics/field_trial_params.h" #include "base/numerics/safe_conversions.h" namespace metrics { namespace internal { // Used to assess the reliability of field trial data by injecting different // levels of effects to pseudo metrics. These pseudo metrics are just mirrors of // some existing metrics. BASE_FEATURE(…); // The multiplicative factor to apply to all samples. Modified samples will be // recorded in a pseudo metric alongside with the real metric. const base::FeatureParam<double> kMultiplicativeFactor{ … }; // The additive factor to apply to every samples. For time metrics, we'll add // |additive_factor| milliseconds to samples. Modified samples will be recorded // in a pseudo metric alongside with the real metric. const base::FeatureParam<double> kAdditiveFactor{ … }; } // namespace internal BASE_FEATURE(…); const base::FeatureParam<double> kLogNormalMean{ … }; const base::FeatureParam<double> kLogNormalDelta{ … }; const base::FeatureParam<double> kLogNormalStdDev{ … }; double GetPseudoMetricsSample(double sample) { … } base::TimeDelta GetPseudoMetricsSample(base::TimeDelta sample) { … } } // namespace metrics