timescale / tsbs

Time Series Benchmark Suite, a tool for comparing and evaluating databases for time series data
MIT License
1.28k stars 299 forks source link

Influx v2 support #209

Open filipecosta90 opened 2 years ago

filipecosta90 commented 2 years ago

The following PR adds support for InfluxDB v2. We can easily test it with docker in the following manner.

Spin influxdb v2 container:

docker run -p 8086:8086 influxdb:2.0

Setup steps InfluxDB v2

If on a new setup run the following command:

influx setup

If you need to create a new bucket adjust the bucket name (-n) and the org name (-o) accordingly:

influx bucket create -n bucket-perf -o org -r 0

Create a DBRP mapping with the InfluxDB 1.x compatibility API (official docs).

Adjust bucket name and db accordingly:

influx v1 dbrp create --db benchmark --rp 0 --bucket-id `influx bucket ls --name bucket-perf | awk -v i=2 -v j=1 'FNR == i {print $j}'` --default

Retrieve the auth token as follows:

influx auth list

sample output:

root@01ae6fa8b638:/# influx auth list
ID          Description Token                                               User Name   User ID         Permissions
0995d63be80e7000    influx's Token  AWgIqRrsmoo62gFlOV83K0egl-imbsN4pbNit5ykBDC2QXtJ-AHEe5sH-KQqq0N_VSLf-ES1Ydq6R9QFsV8Oxw==    influx      0995d63bd0ce7000    [read:authorizations write:authorizations read:buckets write:buckets read:dashboards write:dashboards read:orgs write:orgs read:sources write:sources read:tasks write:tasks read:telegrafs write:telegrafs read:users write:users read:variables write:variables read:scrapers write:scrapers read:secrets write:secrets read:labels write:labels read:views write:views read:documents write:documents read:notificationRules write:notificationRules read:notificationEndpoints write:notificationEndpoints read:checks write:checks read:dbrp write:dbrp]

Run full cycle mini test

Pass the auth-token via INFLUX_AUTH_TOKEN env variable with the token retrieved on the previous step:

INFLUX_AUTH_TOKEN="AWgIqRrsmoo62gFlOV83K0egl-imbsN4pbNit5ykBDC2QXtJ-AHEe5sH-KQqq0N_VSLf-ES1Ydq6R9QFsV8Oxw==" ./scripts/full_cycle_minitest/full_cycle_minitest_influx.sh