prefect.server.events.storage

Functions

to_page_token

to_page_token(filter: 'EventFilter', count: int, page_size: int, current_offset: int) -> Optional[str]

from_page_token

from_page_token(page_token: str) -> Tuple['EventFilter', int, int, int]

process_time_based_counts

process_time_based_counts(filter: 'EventFilter', time_unit: TimeUnit, time_interval: float, counts: List[EventCount]) -> List[EventCount]

Common logic for processing time-based counts across different event backends.

When doing time-based counting we want to do two things:

  1. Backfill any missing intervals with 0 counts.
  2. Update the start/end times that are emitted to match the beginning and end of the intervals rather than having them reflect the true max/min occurred time of the events themselves.

Classes

InvalidTokenError

QueryRangeTooLarge