Skip to content

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

License

Notifications You must be signed in to change notification settings

myzhan/locust4j

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

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