Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/softwaremill/gatling-zeromq
A Gatling stress test plugin for ZeroMQ protocol
https://github.com/softwaremill/gatling-zeromq
gatling scala zeromq
Last synced: 4 days ago
JSON representation
A Gatling stress test plugin for ZeroMQ protocol
- Host: GitHub
- URL: https://github.com/softwaremill/gatling-zeromq
- Owner: softwaremill
- License: apache-2.0
- Archived: true
- Created: 2017-08-10T14:45:16.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-09-10T09:36:39.000Z (about 7 years ago)
- Last Synced: 2024-01-25T06:08:05.845Z (10 months ago)
- Topics: gatling, scala, zeromq
- Language: Scala
- Size: 52.7 KB
- Stars: 5
- Watchers: 13
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-gatling - gatling-zeromq - A Gatling stress test plugin for ZeroMQ protocol. (Tools / Plugins)
README
# gatling-zeromq
[![Build Status](https://travis-ci.org/softwaremill/gatling-zeromq.svg?branch=master)](https://travis-ci.org/softwaremill/gatling-zeromq)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.softwaremill.gatling-zeromq/gatling-zeromq_2.11/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.softwaremill.gatling-zeromq/gatling-zeromq_2.11)
[![Dependencies](https://app.updateimpact.com/badge/636824687711752192/gatling-zeromq.svg?config=compile)](https://app.updateimpact.com/latest/636824687711752192/gatling-zeromq)## Goal of the project
The aim of the project is to allow load testing of applications using [ZeroMQ](http://zeromq.org) with the help of the [Gatling tool](http://gatling.io).
## Adding gatling-zeromq to your project
SBT dependency:
```scala
"com.softwaremill.gatling-zeromq" %% "gatling-zeromq" % "0.1.0"
```Gradle dependency:
```groovy
"com.softwaremill.gatling-zeromq:gatling-zeromq_2.11:0.1.0"
````gatling-zeromq` is available for Scala 2.11 and requires Java 8.
You need to add a dependency on Gatling tool to your project since it is not bundled in this library.
## Running tests
Tests in the project can be started with:
```scala
sbt gatling:test
```For more information look at the [Gatling SBT plugin](http://gatling.io/docs/current/extensions/sbt_plugin/).
## ZeroMQ connector
The project uses [JeroMQ](https://github.com/zeromq/jeromq) as the ZeroMQ connector.
## Configuration
Before running a scenario, you have to provide host and port to connect to. For example:
```
val config = zmqConfig
.host("localhost")
.port("8916")
```## Message patterns
The plugin supports:
* the publishing side of the PUB-SUB pattern (`zmqPub("...")`),
* the requesting side of the REQ-REP pattern (`zmqReq("...")`),
* and the pushing side of the PUSH-PULL pattern (`zmqPush("...")`),## Sending data
Sending of a message and a multi-part message is supported:
```
scenario("Scenario A")
.exec(
zmqPub("a request")
.send("a message")
)scenario("Scenario B")
.exec(
zmqPub("a request")
.sendMore("a multi")
.sendMore("part")
.send("message")
)
```Types of data can be `String`, `Array[Byte]`, numeric ones and [Gatling's Expression Language strings](http://gatling.io/docs/current/session/expression_el/#el) as well.
## Contributing
Take a look at the [open issues](https://github.com/softwaremill/gatling-zeromq/issues) and pick a task you'd like to work on!