Skip to content

Hyperfoil/Hyperfoil

hyperfoil_logo

GitHub issues GitHub forks GitHub stars GitHub license

Hyperfoil is microservice-oriented distributed benchmark framework that solves the coordinated-omission fallacy.

Project website: https://hyperfoil.io.

Prerequisites

Getting Started

mvn package

To run without test cases do

mvn -DskipTests=true package

Then the distribution is either in distribution/target/hyperfoil-<version>-SNAPSHOT.zip or in

cd distribution/target/distribution/

Image

We publish the image at quay.io/hyperfoil/hyperfoil.

Testing

Running All Tests

To run all tests including clustered benchmark tests:

mvn clean package -Pbenchmark

Clustered Tests SSH Requirements

Some tests (tagged with @Tag("io.hyperfoil.test.Benchmark")) require SSH connectivity to localhost for deploying clustered agents.

If these tests fail with errors like:

  • "Connection refused"
  • "No such file or directory" for SSH key

Follow these steps:

  1. Set up SSH server and passwordless authentication:

    # Start SSH daemon (if not running)
    sudo systemctl start sshd
    
    # Generate SSH key if it doesn't exist (will prompt if file exists)
    ssh-keygen -t rsa -b 4096 -N "" -f ~/.ssh/id_rsa
    
    # Set up passwordless SSH to localhost
    ssh-copy-id $(whoami)@localhost
  2. Verify the setup by connecting without password:

    ssh $(whoami)@localhost

    You should be able to connect without entering a password.

Contributing

Contributions to Hyperfoil are managed on GitHub.com

Checkout the Contributing guide for more details and suggestions on how to setup the project.

You can reach the community on Zulip.

Please, consult our Code of Conduct policies for interacting in our community.

Consider giving the project a star ⭐ on GitHub if you find it useful.

License

Apache-2.0 license

About

Microservice-oriented load driver solving the coordinated-omission fallacy

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors

Languages