R

RabbitMQ

Messaging
amqp://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.

Install
$ loadr plugin install rabbitmq
rabbitmq.yaml
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.