https://github.com/cchexcode/viking
A CLI program for API load testing.
https://github.com/cchexcode/viking
api invoke load rust test
Last synced: 9 months ago
JSON representation
A CLI program for API load testing.
- Host: GitHub
- URL: https://github.com/cchexcode/viking
- Owner: cchexcode
- License: mit
- Created: 2023-08-07T03:32:20.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-11-12T22:07:45.000Z (about 1 year ago)
- Last Synced: 2024-11-27T07:19:12.669Z (about 1 year ago)
- Topics: api, invoke, load, rust, test
- Language: Rust
- Homepage: https://crates.io/crate/viking
- Size: 514 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: docs/README.md
- License: LICENSE
Awesome Lists containing this project
README
# viking

[](https://deps.rs/repo/github/replicadse/viking)\
`viking` is an alternative API load testing tool. We're raiding in style.
## Project state
`viking` is unstable but really cool.
## Abstract
`viking` is an opinionated API load testing tool. A few of the key characteristics are:
- Extensive use of multithreading
- Per-thread blocking requests
- Ability to record requests and responses
- YAML based configuration
- Configurable live reporting
- Configurable error behavior
- Smart request parameters (static / increment)
## Installing
```bash
cargo install viking
```
## Example configuration
```bash
# This command renders an example configuration to STDOUT.
viking init
```
```yaml
version: "0.2"
campaigns:
main:
phases:
- target:
env: "API_URI"
threads: 32
ends:
requests: 500
#time: !s 60
timeout:
s: 2000
report:
interval:
s: 1
spec:
get:
header:
x-api-key:
- env: "API_KEY"
query:
page:
- increment:
start: 0
step: 1
per_page:
- static: 4000
from:
- static: 1694901600
to:
- static: 1694905200
behaviours:
ok:
- match: ^(200)$
mark: success
- match: .*
mark: error
error:
backoff:
s: 1
```