Utilities for generating realistic time-series data for tests and benchmarks.
Provides multiple domain-inspired profiles with configurable timestamp interval, base timestamp, noise, and deterministic seeding.
Returned data shape: list of {timestamp :: integer, value :: float}.
Summary
Functions
Generate count points of realistic data for a given profile.
Types
@type options() :: [ interval: pos_integer(), base_timestamp: integer(), seed: {non_neg_integer(), non_neg_integer(), non_neg_integer()}, noise: number() ]
@type profile() ::
:temperature
| :industrial_sensor
| :server_metrics
| :stock_prices
| :vibration
| :mixed_patterns
Functions
@spec generate(non_neg_integer(), profile(), options()) :: [{integer(), float()}]
Generate count points of realistic data for a given profile.
Options:
:intervalseconds between points (default: 60):base_timestampUnix epoch seconds for first point (default: 1_609_459_200 ~ 2020-12-31):seedset PRNG seed for deterministic output (default: none):noisebase noise magnitude multiplier (profile-specific default)