Plugins
Install only what you need
loadr ships a small core. Heavy protocol drivers are delivered as runtime plugins —
they load at runtime, on demand, and are never baked into the binary. One
loadr plugin install <name> pulls a driver from the signed index, then a
request to its URL scheme just works.
Protocol adapters
10/10 availableDrive the system under test at its native protocol.
MongoDB
mongodb://Insert, find, update, aggregate and command — one operation per request, on the official Mongo driver.
PostgreSQL
postgres://Parameterised SELECT / INSERT / UPDATE bound with $1, $2 … and pooled per VU via sqlx.
MySQL
mysql://One query per request over the MySQL wire protocol, safely bound and pooled per VU.
Redis
redis://Speak RESP over TCP — SET, GET, INCR, EXPIRE and the rest, one command per request.
Apache Kafka
kafka://Produce and fetch against a broker, one operation per request — pure-Rust, no librdkafka.
RabbitMQ
amqp://Publish and consume over AMQP 0.9.1, declaring queues inline — the pure-Rust lapin client.
Elasticsearch
elasticsearch://Index, get, search and bulk over the HTTP/JSON API — on loadr's own hyper stack.
NATS
Publish and request/reply over the NATS line protocol, one op per request.
MQTT
Publish and subscribe over MQTT 3.1.1/5.0 with per-VU sessions.
Cassandra / ScyllaDB
One bound CQL statement per request over the native protocol.
Data sources & feeders
4/4 availableFeed the test — stream rows and datasets into VUs.
Redis data loader
Feed VUs values from a Redis list/stream over raw RESP — a distributed feeder.
SQL feeder
Feed rows from a Postgres/MySQL query into the run, shared across VUs.
S3 dataset
Stream a dataset object from S3 with a pure-Rust SigV4 signer.
Synthetic data
Generate deterministic synthetic feeder rows — names, emails, UUIDs, numbers.
Outputs & exporters
5/5 availableSend results somewhere — dashboards, stores, chat, reports.
Datadog
Ship metrics to the Datadog API over HTTPS, batched with retries.
Slack notifier
Post the run summary and threshold breaches to a Slack webhook.
Webhook
POST run snapshots/summary as JSON to any HTTP endpoint.
S3 archive
Archive the final report/metrics as an object to S3 (SigV4).
JUnit report
Write a JUnit XML report of checks and thresholds for CI.
Observability collectors
3/3 availablePull system metrics to correlate against the load.
CloudWatch
PutMetricData to AWS CloudWatch, and pull metrics back to correlate.
OTLP metrics
Export/collect metrics via OTLP to an OpenTelemetry collector.
Kubernetes metrics
Collect pod/node metrics from the Kubernetes metrics API during a run.
Extractors
4/4 availablePull values out of responses (WASM plugins).
JWT decode
Decode a JWT and extract claims into variables.
XPath
Extract values from XML/HTML responses with XPath.
CSS selector
Extract text/attributes from HTML with CSS selectors.
Protobuf decode
Decode a protobuf message body and extract fields.
Assertions & validators
3/3 availableCustom correctness checks (WASM plugins).
Auth & signers
4/4 availableInject credentials — tokens, signatures, secrets.
OAuth2 minter
Mint, cache and refresh OAuth2 tokens; serve them to VUs.
AWS SigV4 signer
Return SigV4 Authorization headers for arbitrary AWS requests.
HMAC signer
Serve HMAC-SHA256 request signatures for signed-request auth.
Vault fetch
Fetch secrets from HashiCorp Vault (KV v2) into the run.
Fixtures & lifecycle
3/3 availableSet up and tear down state around a run.
How install works
Resolve, verify, load
loadr plugin install <name> resolves the name in a signed plugin index — a versioned
JSON catalogue that maps a short name to the right per-platform artifact. loadr picks the artifact for your host
target, checks its declared ABI against the one your build provides, downloads it, verifies its
SHA-256 against the index, unpacks it and installs it under your plugins
directory. The native loader re-checks the abi_stable layout at load time as a
second line of defence.
# search the catalogue, then install for this host
$ loadr plugin search mongo
$ loadr plugin install mongo
resolved mongo 1.1.0 (x86_64-unknown-linux-gnu)
sha256 verified ✓ abi 1.0 ✓
installed → ~/.loadr/plugins/mongo
# pin a version or override the host target
$ loadr plugin install postgres --version 1.1.0
# re-install newer, ABI-compatible builds
$ loadr plugin update
# list / inspect what's installed
$ loadr plugin list
$ loadr plugin info mysql
Full reference: Installing plugins · Plugin overview
Write your own plugin
The same model is open to you. Ship a new protocol, output or helper as a native (abi_stable)
or WASM plugin, declare its URL schemes, publish it to an index — and anyone can
loadr plugin install it.