/avalanche

Prometheus/OpenMetrics endpoint series generator for load testing.

Primary LanguageGoApache License 2.0Apache-2.0

avalanche

Avalanche serves a text-based Prometheus metrics endpoint for load testing Prometheus, Cortex, Thanos, and possibly other OpenMetrics consumers. Metric names and unique series change over time to simulate series churn.

Avalanche has command line flags to configure how many metrics and series are exposed and how often the series change.

usage: avalanche [<flags>]

avalanche - metrics test server

Flags:
  --help                 Show context-sensitive help (also try --help-long and --help-man).
  --metric-count=500     Number of metrics to serve.
  --label-count=10       Number of labels per-metric.
  --series-count=10      Number of series per-metric.
  --metricname-length=5  Modify length of metric names.
  --labelname-length=5   Modify length of label names.
  --value-interval=30    Change series values every {interval} seconds.
  --series-interval=60   Change series_id label values every {interval} seconds.
  --metric-interval=120  Change __name__ label values every {interval} seconds.
  --port=9001            Port to serve at
  --version              Show application version.

Checkout the blog post.

run Docker image

docker run quay.io/freshtracks.io/avalanche --help

build and run go binary

go get github.com/prometheus/prometheus/cmd/...
avalanche --help