{"id":13626200,"url":"https://github.com/softwaremill/gatling-zeromq","last_synced_at":"2025-04-16T11:31:28.360Z","repository":{"id":137884091,"uuid":"99933718","full_name":"softwaremill/gatling-zeromq","owner":"softwaremill","description":"A Gatling stress test plugin for ZeroMQ protocol","archived":true,"fork":false,"pushed_at":"2017-09-10T09:36:39.000Z","size":54,"stargazers_count":5,"open_issues_count":3,"forks_count":3,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-01-25T06:08:05.845Z","etag":null,"topics":["gatling","scala","zeromq"],"latest_commit_sha":null,"homepage":null,"language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/softwaremill.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-08-10T14:45:16.000Z","updated_at":"2023-04-27T11:24:16.000Z","dependencies_parsed_at":"2024-01-03T05:41:11.094Z","dependency_job_id":"484f0170-3366-484c-bede-20c134422525","html_url":"https://github.com/softwaremill/gatling-zeromq","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwaremill%2Fgatling-zeromq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwaremill%2Fgatling-zeromq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwaremill%2Fgatling-zeromq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwaremill%2Fgatling-zeromq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/softwaremill","download_url":"https://codeload.github.com/softwaremill/gatling-zeromq/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249235064,"owners_count":21235140,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gatling","scala","zeromq"],"created_at":"2024-08-01T21:02:12.734Z","updated_at":"2025-04-16T11:31:28.088Z","avatar_url":"https://github.com/softwaremill.png","language":"Scala","funding_links":[],"categories":["Scala","Tools"],"sub_categories":["Plugins"],"readme":"# gatling-zeromq\n\n[![Build Status](https://travis-ci.org/softwaremill/gatling-zeromq.svg?branch=master)](https://travis-ci.org/softwaremill/gatling-zeromq)\n[![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)\n[![Dependencies](https://app.updateimpact.com/badge/636824687711752192/gatling-zeromq.svg?config=compile)](https://app.updateimpact.com/latest/636824687711752192/gatling-zeromq)\n\n## Goal of the project\n\nThe 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).\n\n## Adding gatling-zeromq to your project\n\nSBT dependency:\n\n```scala\n\"com.softwaremill.gatling-zeromq\" %% \"gatling-zeromq\" % \"0.1.0\"\n```\n\nGradle dependency:\n```groovy\n\"com.softwaremill.gatling-zeromq:gatling-zeromq_2.11:0.1.0\"\n```\n\n`gatling-zeromq` is available for Scala 2.11 and requires Java 8.\n\nYou need to add a dependency on Gatling tool to your project since it is not bundled in this library.\n\n## Running tests\n\nTests in the project can be started with:\n```scala\nsbt gatling:test\n```\n\nFor more information look at the [Gatling SBT plugin](http://gatling.io/docs/current/extensions/sbt_plugin/).\n\n## ZeroMQ connector\n\nThe project uses [JeroMQ](https://github.com/zeromq/jeromq) as the ZeroMQ connector.\n\n## Configuration\n\nBefore running a scenario, you have to provide host and port to connect to. For example:\n```\n  val config = zmqConfig\n    .host(\"localhost\")\n    .port(\"8916\")\n```\n\n## Message patterns\n\nThe plugin supports:\n* the publishing side of the PUB-SUB pattern (`zmqPub(\"...\")`),\n* the requesting side of the REQ-REP pattern (`zmqReq(\"...\")`),\n* and the pushing side of the PUSH-PULL pattern (`zmqPush(\"...\")`),\n\n## Sending data\n\nSending of a message and a multi-part message is supported:\n```\nscenario(\"Scenario A\")\n    .exec(\n        zmqPub(\"a request\")\n            .send(\"a message\")\n    )\n\nscenario(\"Scenario B\")\n    .exec(\n        zmqPub(\"a request\")\n            .sendMore(\"a multi\")\n            .sendMore(\"part\")\n            .send(\"message\")\n    )\n```\n\nTypes 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.\n\n## Contributing\n\nTake a look at the [open issues](https://github.com/softwaremill/gatling-zeromq/issues) and pick a task you'd like to work on!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftwaremill%2Fgatling-zeromq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoftwaremill%2Fgatling-zeromq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftwaremill%2Fgatling-zeromq/lists"}