8 releases
0.2.2 | Nov 12, 2024 |
---|---|
0.2.1 | Aug 21, 2024 |
0.2.0 | Dec 18, 2023 |
0.1.6 | Sep 19, 2023 |
0.0.0 | Dec 8, 2021 |
#1049 in Command line utilities
159 downloads per month
420KB
673 lines
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
cargo install viking
Example configuration
# This command renders an example configuration to STDOUT.
viking init
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
Dependencies
~17–31MB
~498K SLoC