Skip to content

Latest commit

 

History

History
executable file
·
31 lines (24 loc) · 1.46 KB

README.md

File metadata and controls

executable file
·
31 lines (24 loc) · 1.46 KB

Heracles

This repository is based on Prometheus tsdb v0.8.0.

The design of the original Prometheus tsdb can be found here.

The original compression methods are based on the Gorilla white papers.

See also the format documentation.

Benchamrks

Setup

You can find the data set here.
Please copy the files to folder "testdata/bigdata/node_exporter".

Prepare the dependency: $ go mod vendor

1. Test insertion

Need to turn off profiling and set flag ne (use node exporter labels).
> cd cmd/tsdb
Random data
> go run -mod=vendor main.go bench write --osleep [baseline sleep seconds] --gsleep [group sleep seconds] --metrics [num of ts] --batch [batch size]
Timeseries data
> go run -mod=vendor main.go bench write --osleep [baseline sleep seconds] --gsleep [group sleep seconds] --metrics [num of ts] --batch [batch size] --timeseries

2. Test TSBS query benchmark

You can midify the numSeries in db_bench_tsbs_test.go to test different data volumes.
Test Prometheus tsdb
> go test -mod=vendor -run ^$ -bench ^BenchmarkDBtsbs$ . -timeout 99999s -benchtime 10s -v
Test TGroup
> go test -mod=vendor -run ^$ -bench ^BenchmarkGroupDBtsbs$ . -timeout 99999s -benchtime 10s -v