class BackfillManager

Defined at line 16 of file ../../third_party/cobalt/src/local_aggregation/backfill_manager.h

BackfillManager is responsible for computing the list of aggregation periods for which no

observations were generated for a particular report.

Public Methods

void BackfillManager (uint32_t total_backfill_window)

|total_backfill_window| The maximum number of past days (with respect to UTC) to generate

daily/hourly observations for. In addition, the BackfillManager may return TimeInfos for

previous hours of the current day for hourly reports, and will return a TimeInfo for the

current day for expedited daily reports.

lib::statusor::StatusOr<std::vector<util::TimeInfo>> CalculateBackfill (util::TimeInfo last_time_info, CivilTimeManager * civil_time_mgr, const MetricDefinition & metric, bool is_daily, bool is_expedited)

CalculateBackfill returns a list of TimeInfos corresponding to aggregation periods for which

observations have not yet been generated. The returned list of TimeInfos will be sorted from

oldest to newest.

|last_time_info| The last `TimeInfo` for which an observation has been generated.

|civil_time_mgr| Converts the end time of the observation generation interval, as well

as earlier hourly time points, into civil times for a given time zone.

|metric| The metric definition associated with the observations.

|is_daily| If true, we should generate daily TimeInfos, otherwise generate hourly.

|is_expedited| If true, generate a TimeInfo for the day of |end_time|.