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.
docker run quay.io/freshtracks.io/avalanche --help
go get github.com/prometheus/prometheus/cmd/...
avalanche --help