blob: 882fee558dc04d57a7d2e4160c87e1cccfe269d8 [file] [log] [blame]
// 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.
#include "chrome/browser/chromeos/reporting/metric_default_utils.h"
#include "base/feature_list.h"
#include "base/time/time.h"
#include "components/reporting/metrics/metric_rate_controller.h"
namespace reporting::metrics {
namespace {
const base::TimeDelta GetDefaultRate(base::TimeDelta default_rate,
base::TimeDelta testing_rate) {
// If telemetry testing rates flag is enabled, use `testing_rate` to reduce
// time before metric collection and reporting.
return base::FeatureList::IsEnabled(kEnableTelemetryTestingRates)
? testing_rate
: default_rate;
}
} // namespace
const base::TimeDelta GetDefaultReportUploadFrequency() {
return GetDefaultRate(kDefaultReportUploadFrequency,
kDefaultReportUploadFrequencyForTesting);
}
const base::TimeDelta GetDefaultKioskHeartbeatUploadFrequency() {
return GetDefaultRate(kDefaultKioskHeartbeatUploadFrequency,
kDefaultKioskHeartbeatUploadFrequencyForTesting);
}
const base::TimeDelta GetDefaultCollectionRate(base::TimeDelta default_rate) {
return GetDefaultRate(default_rate, kDefaultCollectionRateForTesting);
}
const base::TimeDelta GetDefaultEventCheckingRate(
base::TimeDelta default_rate) {
return GetDefaultRate(default_rate, kDefaultEventCheckingRateForTesting);
}
} // namespace reporting::metrics