# README
otelbench
go install ./cmd/otelbench
Prometheus Remote Write
Benchmark
Requires vmagent
and node_exporter
binaries to be available in $PATH
.
Start remote write benchmark
Usage:
otelbench promrw bench [flags]
Flags:
--addr string address to listen (default "127.0.0.1:8428")
--agentAddr string address for vmagent to listen (default "127.0.0.1:8429")
--clickhouseAddr string clickhouse tcp protocol addr to get actual stats from
-h, --help help for bench
--nodeExporterAddr string address for node exporter to listen (default "127.0.0.1:9301")
--pollExporterInterval duration Interval to poll the node exporter filling up cache (default 1s)
--queryAddr string addr to query PromQL from
--queryInterval duration interval to query PromQL (default 5s)
--scrapeConfigUpdateInterval duration The -scrapeConfigUpdatePercent scrape targets are updated in the scrape config returned from -httpListenAddr every -scrapeConfigUpdateInterval (default 10m0s)
--scrapeConfigUpdatePercent float The -scrapeConfigUpdatePercent scrape targets are updated in the scrape config returned from -httpListenAddr ever -scrapeConfigUpdateInterval (default 1)
--scrapeInterval duration The scrape_interval to set at the scrape config returned from -httpListenAddr (default 5s)
--targetsCount int The number of scrape targets to return from -httpListenAddr. Each target has the same address defined by -targetAddr (default 100)
--useVictoria use vmagent instead of prometheus (default true)
otelbench promrw bench http://127.0.0.1:19291
Record
Start listener:
otelbench promrw record -o /tmp/requests.rwq --d 10m --addr="127.0.0.1:8080"
Start load generator:
otelbench promrw bench --targetsCount=10 --scrapeInterval=1s "127.0.0.1:8080"
Prometheus remote write requests will be recorded to /tmp/requests.rwq
file.
Replay
Start prometheus remote write endpoint, for example ch-bench-read
:
docker compose up -f ./dev/local/ch-bench-read/docker-compose.yml -d
Replay prometheus remote write requests, sending them to specified target:
otelbench promrw replay -i /tmp/requests.rwq -j 8 --target="http://127.0.0.1:19291"
PromQL
otelbench promql bench -i ./internal/promproxy/testdata/node-exporter.jsonl -o /tmp/report.yml
otelbench promql analyze -i /tmp/report.yml
# Packages
Package chtracker provides Clickhouse query tracker.
Package logqlbench defines utilities to benchmark LogQL queries.
# Structs
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author