Eventum Logo

Eventum

Input

time_patterns

Input plugin that generates timestamps using statistical distributions and oscillators to mimic real traffic patterns.

Generates timestamps using time-pattern definitions — oscillators, multipliers, randomizers, and statistical distributions. Each pattern is defined in a separate YAML file, making it easy to compose complex traffic shapes by combining multiple patterns.

Parameters

ParameterTypeDefaultConstraintsDescription
patternslist of pathsRequired. At least one path.Paths to time-pattern YAML files.
tagslist of strings[]Tags attached to every timestamp. Accessible in templates via tags.
input:
  - time_patterns:
      patterns:
        - patterns/traffic.yml
        - patterns/errors.yml

Pattern file schema

Each pattern file defines a pipeline of four stages that shape the timestamp distribution:

patterns/traffic.yml
label: api-traffic
oscillator:
  period: 1
  unit: days
  start: "2024-01-01"
  end: "2024-12-31"
multiplier:
  ratio: 500
randomizer:
  deviation: 0.3
  direction: mixed
spreader:
  distribution: beta
  parameters:
    a: 2
    b: 5

oscillator

Defines the base periodic signal — the repeating time window.

ParameterTypeConstraintsDescription
periodfloat> 0Length of one cycle.
unitstringweeks, days, hours, minutes, seconds, milliseconds, or microsecondsUnit for the period.
startVersatileDatetimeRequired. Cannot be null.Start of the active range.
endVersatileDatetimeRequired. Cannot be null.End of the active range.

multiplier

Scales the number of timestamps per period.

ParameterTypeConstraintsDescription
ratiointeger>= 1Base number of timestamps per oscillator period.

randomizer

Adds noise to the multiplied count, so each period generates a slightly different number of timestamps.

ParameterTypeDefaultConstraintsDescription
deviationfloat0.0–1.0Maximum percentage deviation from the base count.
directionstringdecrease, increase, or mixedDirection of the deviation.
samplinginteger1024>= 16Number of samples for the noise distribution.

spreader

Controls where within each period the timestamps land, using a statistical distribution.

uniform — timestamps spread evenly:

ParameterTypeConstraintsDescription
distributionstringMust be "uniform".Distribution type.
parameters.lowfloat0 ≤ low, low < 1Lower bound of the uniform range.
parameters.highfloat0 < high ≤ 1, high > lowUpper bound of the uniform range.

triangular — timestamps cluster around a peak:

ParameterTypeConstraintsDescription
distributionstringMust be "triangular".Distribution type.
parameters.leftfloat0 ≤ left, left < 1Left bound.
parameters.modefloatleft ≤ mode ≤ rightPeak position.
parameters.rightfloat0 < right ≤ 1Right bound.

beta — flexible shape for skewed or bimodal patterns:

ParameterTypeConstraintsDescription
distributionstringMust be "beta".Distribution type.
parameters.afloat>= 0Alpha shape parameter.
parameters.bfloat>= 0Beta shape parameter.

See Scheduling — Simulate realistic traffic with time patterns for a practical walkthrough.

On this page