Eventum Logo

Eventum

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.

PluginDescription
cronCron expressions with second-level precision
timerFixed-interval ticks
linspaceEvenly spaced timestamps across a date range
staticAll at once, using the current time
timestampsAn explicit list of datetimes
time_patternsStatistical distributions that mimic real traffic
httpOn demand, triggered by HTTP requests

Event plugins

Event plugins define what events look like. A generator has exactly one event plugin.

PluginDescription
templateRenders Jinja2 templates with Faker, Mimesis, random helpers, and more
scriptRuns a Python function for full programmatic control
replayReads 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.

PluginDefault formatterDescription
stdoutplainPrints to the console or stderr
fileplainWrites to a local file
httpjson-batchSends to any HTTP endpoint
opensearchjsonIndexes into an OpenSearch cluster
clickhousejsonInserts 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:

generator.yml
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: json

Rules:

  • input and output are lists — each item is a single-key mapping naming one plugin.
  • event is 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.

On this page