Создать базу данных для хранения результатов работы JMeter
clickhouse-client --query="CREATE DATABASE jmeter"
Создать таблицу, в которую будут загружаться исходные данные из csv-лога.
use jmeter CREATE TABLE `csv` ( `timeStamp` UInt32, `elapsed` UInt32, `label` String, `responseCode` String, `responseMessage` String, `threadName` String, `dataType` String, `success` String, `failureMessage` String, `bytes` UInt32, `sentBytes` UInt32, `grpThreads` UInt32, `allThreads` UInt32, `URL` String, `Latency` UInt32, `IdleTime` UInt32, `Connect` UInt32 ) ENGINE = Log
Загрузить в таблицу csv результаты работы Apache.JMeter
cd ~/Project/jmeter-loadtestweb/target/jmeter/results clickhouse-client --format_csv_delimiter="," --query="INSERT INTO jmeter.csv FORMAT CSVWithNames" < jmeter-loadtestweb.csv
Создать таблицу, с дополнительными колонками time и date
CREATE TABLE `jmeter` ( `time` DateTime, `date` Date, `timeStamp` UInt32, `elapsed` UInt32, `label` String, `responseCode` String, `responseMessage` String, `threadName` String, `dataType` String, `success` String, `failureMessage` String, `bytes` UInt32, `sentBytes` UInt32, `grpThreads` UInt32, `allThreads` UInt32, `URL` String, `Latency` UInt32, `IdleTime` UInt32, `Connect` UInt32 ) ENGINE = MergeTree("date", ("time", "timeStamp", "label", "threadName"), 8192)
Перелить в таблицу jmeter содержимое таблицы csv
insert into "jmeter" select toDateTime("timeStamp" / 1000) as time, toDate("timeStamp" / 1000) as date, * from "csv"
Теперь таблицу jmeter можно использовать в Grafana для выполнения запросов и отображения графиков
Готовый плагин от Александра Бабаева
Нашел ещё готовое решение для Apache.JMeter и ClickHouse.
Проект плагина: https://gitlab.com/testload/jmeter-listener
Доска Grafana: https://grafana.com/dashboards/956
Подробная инструкция по настройке есть на странице доски для Grafana по ссылке выше.
Собранный плагин для Apache.JMeter: https://mvnrepository.com/artifact/cloud.testload/jmeter.pack-listener
<dependency> <groupId>cloud.testload</groupId> <artifactId>jmeter.pack-listener</artifactId> <version>1.4</version> </dependency>
wiki проекта: https://gitlab.com/testload/jmeter-listener/wikis/home