Begum is a tool that generates metrics similar to what would come out of an HTTP-based web or microservice. These metrics can be manipulated by making API calls to add and remove instances, adjust latencies, and error rates.
By making various API calls you can simulate a cluster of instances of a service that generate realistic metrics, then cause some of these to become stricken with errors or increased latency.
Begum runs as many "instances" as you like. Each has a name — by default
sequentially A, B, C…
etc and emits metrics.
{
"error_pct": 1,
"latency_min_ms": 100,
"latency_max_ms": 300,
"latency_offset_ms": 0
}
error_pct
: % of requests that should be errorslatency_min_ms
: Minimum value of latency per requestlatency_max_ms
: Maximum value of latency per requestlatency_offset_ms
: Amount of extra latency added after choosing a random latency betweenlatency_min_ms
andlatency_max_ms.
DELETE /instance/X
removes an instance namedX
, no body.POST /instance/X
adds an instance namedX
, expects JSONPUT /instance/X
adjusts the parameters of an instance namedX
, expects JSON
The following metrics are emitted:
request_duration_millis
with tags/labelscode
andinstance
with quantiles0.5, 0.9, 0.99
. Also includesrequest_duration_millis_count
andrequest_duration_millis_sum
.errors_encountered_total
with tags/labelscode
andinstance
.
Begum is a female royal and aristocratic title from Central and South Asia.