rage

command module
v0.0.0-...-a4152bd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 30, 2023 License: MIT Imports: 1 Imported by: 0

README

rage

Go Report Card

A minimalistic load testing tool designed to help developers stress-test their infrastructure with ease

Features

rage supports passing configuration arguments as CLI flags or through YAML

./rage -url <endpoint> -method <HTTP-Method> -users <integer> -attempts <integer>

Using a YAML configuration file enables you to customize the request further

target:
  url: https://api.mydomain.com/v1/checkout
  method: POST
  successcode: 201
load:
  users: 5
  attempts: 10
headers:
  Authorization: Bearer eyJhbGciOIjp7ImlkIjoxLCJyb2iJ.eyJhbGciOiJ
body:
  content-type: application/json
  payload:
    product_uuid: 1e89b3e4567-e89b-12d3 
    quantity: 3
    colors: 
      - green
      - black
      - white
    extras:
      address:
        apartment_number: 10
        note: drop-off at reception 
      coupon_code: RAGE23!   

The above configuration models the following request body:

{
  "product_uuid": "1e89b3e4567-e89b-12d3",
  "quantity": 3,
  "colors": ["green","black","white"],
  "extras": {
    "address": {
      "apartment_number": 10,
      "note": "drop-off at reception"
    },
    "coupon_code":"RAGE23!"
  }
}

Run rage with the above YAML configurations

./rage -f config.yaml

How it works

rage makes the requests concurrently using goroutines.

  • users - Number of virtual users to spawn
  • attempts - Number of requests each user makes

Contributing

Any contribution, in the form of a suggestion, bug report or pull request, is welcomed

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL