Tumbling window

Fixed-sized, non-overlapping window analytic function support

Objective

Tumbling windows are a non-overlapping events arrays ordered by time. The size of the window is dependent upon policy configuration, either time or event count.

Events within the window are only processed once when a new window is triggered.

Time based windows

Example

The example defines a tumbling 10 second time based window using two aggregate functions for two event attributes.

time window:
  emitting type: pageFailures
  aggregate functions:
    FIRST: [ask, bid]
    LAST: [ask, bid]
  policy:
    type: tumblingTime
    window size: 10
    time unit: SECONDS

Attributes schema

Attribute
Description
Data Type
Required

window size

Size of window with respect to timeUnit

Long

time unit

TimeUnit used for configuring window trigger. Supported types:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

TimeUnit

Default: MILLISECONDS

Event count based windows

Example

Configures a tumbling window with a maximum of 1000 events and an additional window trigger set to 5 seconds

time window:
  emitting type: pageFailures
  policy:
    type: tumblingCount
    window size: 1000
    delay: 5
    time unit: SECONDS

Attributes schema

Attribute
Description
Data Type
Required

window size

Maximum number of events before triggering window processing

Long

delay

Time period to trigger window processing if window size has not been breached.

Note: If delay is set to zero this addition trigger is not activated.

Long

Default: 0

time unit

TimeUnit used for configuring window delay. Supported types:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

TimeUnit

Default: MILLISECONDS

Last updated