#include "components/metrics/metrics_upload_scheduler.h"
#include <stdint.h>
#include "base/feature_list.h"
#include "base/metrics/field_trial_params.h"
#include "base/metrics/histogram_macros.h"
#include "base/strings/string_number_conversions.h"
#include "build/build_config.h"
#include "components/metrics/metrics_scheduler.h"
namespace metrics {
namespace {
const double kBackoffMultiplier = …;
const int kMaxBackoffIntervalHours = …;
const int kOverDataUsageIntervalMinutes = …;
base::TimeDelta BackOffUploadInterval(base::TimeDelta interval) { … }
}
MetricsUploadScheduler::MetricsUploadScheduler(
const base::RepeatingClosure& upload_callback,
bool fast_startup_for_testing)
: … { … }
MetricsUploadScheduler::~MetricsUploadScheduler() = default;
base::TimeDelta MetricsUploadScheduler::GetUnsentLogsInterval() { … }
base::TimeDelta MetricsUploadScheduler::GetInitialBackoffInterval() { … }
void MetricsUploadScheduler::UploadFinished(bool server_is_healthy) { … }
void MetricsUploadScheduler::StopAndUploadCancelled() { … }
void MetricsUploadScheduler::UploadOverDataUsageCap() { … }
}