R
RabbitMQ
Messagingamqp://amqps://rabbitmq://Publish and get against an AMQP 0.9.1 broker, one operation per request — declare queues inline, ack on consume. Ships the pure-Rust lapin client on its own.
$ loadr plugin install rabbitmq
plugins:
- name: rabbitmq # resolves amqp:// at runtime
scenarios:
publish:
executor: constant-vus
vus: 5
duration: 15s
flow:
- request:
url: amqp://loadr:loadr@broker.example.com:5672/%2f
plugin:
operation: publish
routing_key: loadr.work
queue: loadr.work
declare_queue: true
body: '{"vu": ${vu}, "iteration": ${iteration}}'
assert:
- { type: status, equals: 1 } # 1 = ok, 0 = broker error
thresholds:
rabbitmq_req_duration: [ "p(95)<300ms" ]
rabbitmq_reqs: [ "count>0" ]
Metrics: rabbitmq_reqs · rabbitmq_req_duration · rabbitmq_msgs.
Install the plugin, then publish and drain a queue against RabbitMQ over AMQP — see demo #20.
A runtime plugin, never in the binary
Installing pulls a per-platform driver from the signed index, verifies its SHA-256 and checks its ABI before it ever loads. Remove it any time with loadr plugin remove rabbitmq.