turbo¶
Enable TurboVM bytecode acceleration for normalization. Requires
liblognorm 2.1.0+ built with --enable-turbo.
This parameter applies to mmnormalize: Log Message Normalization Module.
- Name:
turbo
- Scope:
action
- Type:
boolean
- Default:
off
- Required?:
no
- Introduced:
8.2602.0
Description¶
When enabled, mmnormalize compiles the rulebase into bytecode at startup and uses the TurboVM engine for SIMD-accelerated normalization. Each rsyslog worker thread gets an independent TurboVM context, ensuring thread-safe operation without mutexes on the hot path.
Normalized results are stored as opaque snapshots that support zero-JSON field resolution: template access reads fields directly from the snapshot without building a json-c object tree.
If bytecode compilation fails (e.g., unsupported parser types or
inline data exceeding 60 bytes), mmnormalize falls back to
standard ln_normalize() automatically. On HUP signal,
per-worker TurboVM contexts are rebuilt.
Requirements:
liblognorm >= 2.1.0 with
--enable-turboThe
lognorm-features.hheader must defineLOGNORM_TURBO_SUPPORTEDrsyslog detects this automatically at
./configuretime
Action usage¶
action(type="mmnormalize"
rulebase="/etc/rsyslog.d/rules.rb"
turbo="on")
YAML usage¶
actions:
- type: mmnormalize
rulebase: /etc/rsyslog.d/rules.rb
turbo: on
See also¶
See also mmnormalize: Log Message Normalization Module.
Support: rsyslog Assistant | GitHub Discussions | GitHub Issues: rsyslog source project
Contributing: Source & docs: rsyslog source project
© 2008–2026 Rainer Gerhards and others. Licensed under the Apache License 2.0.