Locust4j is a load generator for locust, written in Java.
Switch branches/tags
Nothing to show
Clone or download
Latest commit 538b07b Dec 11, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples move task example Dec 10, 2018
src meet JMH Dec 11, 2018
.gitignore first commit Nov 28, 2017
.travis.yml add travis and codecov Dec 6, 2017
LICENSE first commit Nov 28, 2017
README.md release 1.0.3 Dec 10, 2018
dummy.py first commit Nov 28, 2017
pom.xml meet JMH Dec 11, 2018

README.md

Locust4j Build Status Coverage Status

Links

Description

Locust4j is a load generator for locust, written in Java. It's inspired by boomer and nomadacris.

It's a benchmarking library, not a general purpose tool. To use it, you must implement test scenarios by yourself.

locust4j-http is a demo and a good start.

Features

  • Write user test scenarios in Java
    Because it's written in Java, you can use all the things in the Java Ecosystem.

  • Thread-based concurrency
    Locust4j uses threadpool to execute your code with low overhead.

Build

git clone https://github.com/myzhan/locust4j
cd locust4j
mvn package

Locally Install

mvn install

Maven

Add this to your Maven project's pom.xml.

<dependency>
    <groupId>com.github.myzhan</groupId>
    <artifactId>locust4j</artifactId>
    <version>1.0.3</version>
</dependency>

More Examples

See Main.java.

This file represents all the exposed APIs of Locust4j.

NOTICE

  1. The task instance is shared across multiply threads, the execute method must be thread-safe.
  2. Don't catch all exceptions in the execute method, just leave every unexpected exceptions to locust4j.

Author

  • myzhan
  • vrajat

Known Issues

  • When stop-the-world happens in the JVM, you may get wrong response time reported to the master.
  • Because of the JIT compiler, Locust4j will run faster as time goes by, which will lead to shorter response time.

License

Open source licensed under the MIT license (see LICENSE file for details).