Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/myzhan/locust4j
Locust4j is a load generator for locust, written in Java.
https://github.com/myzhan/locust4j
benchmark benchmark-framework locust performance performance-testing
Last synced: about 1 month ago
JSON representation
Locust4j is a load generator for locust, written in Java.
- Host: GitHub
- URL: https://github.com/myzhan/locust4j
- Owner: myzhan
- License: mit
- Created: 2017-11-28T07:15:51.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-07-19T06:44:26.000Z (5 months ago)
- Last Synced: 2024-08-04T02:07:47.807Z (4 months ago)
- Topics: benchmark, benchmark-framework, locust, performance, performance-testing
- Language: Java
- Size: 239 KB
- Stars: 81
- Watchers: 9
- Forks: 30
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-locust - locust4j - A load generator for Locust, written in Java. (Tools / Workers)
README
# Locust4j [![Build Status](https://travis-ci.org/myzhan/locust4j.svg?branch=master)](https://travis-ci.org/myzhan/locust4j) [![Coverage Status](https://codecov.io/gh/myzhan/locust4j/branch/master/graph/badge.svg)](https://codecov.io/gh/myzhan/locust4j)
## Links
* Locust Website: locust.io
* Locust Documentation: docs.locust.io## Description
Locust4j is a load generator for locust, written in Java. It's inspired by [boomer](https://github.com/myzhan/boomer)
and [nomadacris](https://github.com/vrajat/nomadacris).It's a **benchmarking library**, not a general purpose tool. To use it, you must implement test scenarios by yourself.
### Usage examples
- [locust4j-http](https://github.com/myzhan/locust4j-http) is a demo and a good start
- [nejckorasa/locust4j-http-load](https://github.com/nejckorasa/locust4j-http-load) is another example project## 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
```bash
git clone https://github.com/myzhan/locust4j
cd locust4j
mvn package
```## Locally Install
```bash
mvn install
```## Maven
Add this to your Maven project's pom.xml.
```xml
com.github.myzhan
locust4j
LATEST```
## More Examples
See [Main.java](examples/task/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).