#include "components/reporting/metrics/periodic_event_collector.h"
#include <memory>
#include <string>
#include <utility>
#include "base/check.h"
#include "base/time/time.h"
#include "components/reporting/metrics/collector_base.h"
#include "components/reporting/metrics/metric_event_observer.h"
#include "components/reporting/metrics/metric_rate_controller.h"
#include "components/reporting/metrics/sampler.h"
#include "components/reporting/proto/synced/metric_data.pb.h"
namespace reporting {
PeriodicEventCollector::PeriodicEventCollector(
Sampler* sampler,
std::unique_ptr<EventDetector> event_detector,
ReportingSettings* reporting_settings,
const std::string& rate_setting_path,
base::TimeDelta default_rate,
int rate_unit_to_ms)
: … { … }
PeriodicEventCollector::~PeriodicEventCollector() = default;
void PeriodicEventCollector::SetOnEventObservedCallback(
MetricRepeatingCallback cb) { … }
void PeriodicEventCollector::SetReportingEnabled(bool is_enabled) { … }
void PeriodicEventCollector::OnMetricDataCollected(
bool is_event_driven,
std::optional<MetricData> metric_data) { … }
bool PeriodicEventCollector::CanCollect() const { … }
}