Overview
Plugin reference for Eventum — the full list of input, event, and output plugins with links to their parameter documentation.
Plugins are the building blocks of an Eventum generator. Every generator is a three-stage pipeline where each stage is handled by one or more plugins. This section is the reference for every available plugin — parameters, defaults, constraints, and configuration examples.
For the conceptual overview of how plugins fit together, see Concepts — Plugins.
Input plugins
Input plugins define when events happen. A generator can have multiple input plugins — their timestamp streams are merged chronologically.
Every input plugin supports an optional tags parameter that attaches string labels to timestamps, making them available in event templates via the tags variable.
| Plugin | Description |
|---|---|
| cron | Cron expressions with second-level precision |
| timer | Fixed-interval ticks |
| linspace | Evenly spaced timestamps across a date range |
| static | All at once, using the current time |
| timestamps | An explicit list of datetimes |
| time_patterns | Statistical distributions that mimic real traffic |
| http | On demand, triggered by HTTP requests |
Event plugins
Event plugins define what events look like. A generator has exactly one event plugin.
| Plugin | Description |
|---|---|
| template | Renders Jinja2 templates with Faker, Mimesis, random helpers, and more |
| script | Runs a Python function for full programmatic control |
| replay | Reads events from an existing log file |
Output plugins
Output plugins define where events go. A generator can have multiple output plugins — every event is delivered to all of them (fan-out).
Every output plugin supports a formatter that controls how events are serialized before delivery.
| Plugin | Default formatter | Description |
|---|---|---|
| stdout | plain | Prints to the console or stderr |
| file | plain | Writes to a local file |
| http | json-batch | Sends to any HTTP endpoint |
| opensearch | json | Indexes into an OpenSearch cluster |
| clickhouse | json | Inserts into a ClickHouse database |
Configuration syntax
Each plugin is configured as a named key inside the corresponding section of generator.yml. The key is the plugin name; the value holds plugin-specific parameters:
input:
- cron: # plugin name
expression: "* * * * * *" # plugin parameter
count: 1
event:
template:
mode: all
templates:
- my_event:
template: templates/event.jinja
output:
- stdout: {} # empty config is valid
- file:
path: output/events.jsonl
formatter:
format: jsonRules:
inputandoutputare lists — each item is a single-key mapping naming one plugin.eventis a single mapping — one plugin name with its config.- Unknown fields cause a validation error before any events are generated.
- Relative paths are resolved from the directory containing the generator config file.