Skip to content
This repository has been archived by the owner on Jan 16, 2023. It is now read-only.

lkadalski/minigun

Repository files navigation

PROJECT IS IN ARCHIVED STATE

MINIGUN 🦀

Developed by @lkadalski

License-MIT Repo stars Latest version Continous Integration Semantic Release: conventional



About Minigun 👑

Minigun is a experimental HTTP(S) benchmarking tool. It is written in Rust programming language. It's highly inspired by https://github.com/codesenberg/bombardier but it's far from it's usefulness.
From my personal tests, current implementation is far more faster(lower latencies) that bombardiers.
Please test it yourself!


Get started 🏁

Installation

There are few methods to obtain binary:

docker

Images are available here

binary

See releases

or build from source!


Usage

minigun [<flags>] <url>
or
minigun --help
To see all the options and possibilities. You can either see report of a test or consume a output from each test in json or ron format!

Example:
$ minigun -c 10 -r 100 http://localhost:8080 -o json

Other possibilites:

CLI Multipurpose HTTP benchmarking tool written in Rust

USAGE:
    minigun [FLAGS] [OPTIONS] <url>

FLAGS:
    -d, --debug      Enable debug mode
        --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -b, --body <body>
        --client <client>                        Use different type of HTTP client from Surf [default: isahc]
    -c, --connection-count <connection-count>    Total connections count which should be used in test [default: 1]
    -h, --headers <headers>...                   HTTP Headers to use K: V
    -m, --method <method>                        HTTP Method [default: GET]
    -o, --output <output>                        Output type: ron or json
    -r, --request-count <request-count>          Total amount of request which should be executed [default: 10]

ARGS:
    <url>    Target URL which should Minigun aim for

Documentation 📚

Minigun was designed using Technical Design Document


Contributing and issues 🤝

Contributions, bug reports, new features and questions are welcome! 😉
If you have any question or concern, or you want to suggest a new feature, or you want just want to improve minigun, feel free to create ticket!

How to improve this repo ? Please follow our contributing guidelines


Changelog ⏳

View minigun's changelog HERE


License 📃

Minigun is licensed under the MIT license.

You can read the entire license HERE

Artwork created by Izet