myzhan/locust4j

Locust4j is a load generator for locust, written in Java.

89

stars

193

commits

Java

primary language

Jan 6, 2026

updated

benchmark
benchmark-framework
locust
performance
performance-testing
Browse cluster: Performance benchmarking and profiling tools

README

Locust4j Build Status Coverage Status

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.

Usage examples

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>LATEST</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).

Contributors

myzhan

166 commits

sergii-volokh

6 commits

aparmet-toast

3 commits

myzhan/locust4j

Locust4j is a load generator for locust, written in Java.

89

stars

193

commits

Java

primary language

Jan 6, 2026

updated

benchmark
benchmark-framework
locust
performance
performance-testing
Browse cluster: Performance benchmarking and profiling tools

README

Locust4j Build Status Coverage Status

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.

Usage examples

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>LATEST</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).

Contributors

myzhan

166 commits

sergii-volokh

6 commits

aparmet-toast

3 commits

Languages

Java

99.9%