This is a command-line interface (CLI) for testing the performance of a Socket.IO v4 server using the rust-socketio library. This tool measures the time taken for handshake dialing, onConnect connection, and returns the HTTP status code and header lists.
- Server: Only Socket.IO v4+ is supported because rust-socketio is the only dependency and that's it.
- libssl.3 is requried, Recommend ubuntu20+
Returns the time taken for handshake dialin and http status code and header lists.
- Rust (v1.69.0)
To build the CLI, simply run:
cargo build --release
This will create the execution binary in the target/release directory.
Usage To run the performance test, use the following command, replacing <test_path> with the path to your test server:
./target/release/sio_cli <test_path>
The CLI will output the handshake dialing time, onConnect connection time, HTTP status code, and header lists.
This repository includes a GitHub Actions workflow for automatically building the project on push and pull requests to the main or master branch (choose based on your default branch name). The workflow configuration can be found in the .github/workflows/build.yml file.
When the workflow is triggered, you can view the build process under the "Actions" tab of your GitHub repository. After a successful build, the size of the build artifact will be displayed in the workflow logs.
This project is licensed under the MIT License.
- https://github.com/rlespinasse/github-slug-action/blob/v4.x/examples/linux-usage.yml
- https://docs.rs/rust_socketio/latest/rust_socketio/client/struct.ClientBuilder.html#method.max_reconnect_attempts
- https://docs.github.com/en/actions/migrating-to-github-actions/automated-migrations/migrating-from-gitlab-with-github-actions-importer
- https://docs.gitlab.com/ee/ci/variables/predefined_variables.html