INTEGRITY Документация

Запрос из Grafana

Workers Analytics Engine оптимизирован для аналитики временных рядов, которую можно визуализировать с помощью таких инструментов, как Grafana. Каждое событие, записанное из runtime, автоматически дополняется timestamp поле.

Настройка плагина Grafana

Рекомендуем использовать Altinity plugin for Clickhouse ↗ для запросов к Workers Analytics Engine из Grafana.

Настройте плагин следующим образом:

Запрос данных временных рядов

Для использования в дашборде обычно нужно агрегировать метрику по временным интервалам. Это можно сделать, округлив значения и затем сгруппировав их по timestamp поле. Следующий запрос округляет и группирует данные таким образом, а затем вычисляет среднее значение для каждого временного интервала с учётом выборка.

SELECT
    intDiv(toUInt32(timestamp), 60) * 60 AS t,
    blob1 AS label,
    SUM(_sample_interval * double1) / SUM(_sample_interval) AS average_metric
FROM dataset_name
WHERE 
    timestamp <= NOW() 
    AND timestamp > NOW() - INTERVAL '1' DAY
GROUP BY blob1, t
ORDER BY t

Плагин Altinity предоставляет полезные макросы, которые упрощают написание запросов такого типа. Для этих макросов необходимо задать Column:DateTime к timestamp в конструкторе запросов, после чего их можно использовать так:

SELECT
    $timeSeries AS t,
    blob1 AS label,
    SUM(_sample_interval * double1) / SUM(_sample_interval) AS average_metric
FROM dataset_name
WHERE $timeFilter
GROUP BY blob1, t
ORDER BY t

Этот запрос автоматически подбирает время округления в зависимости от уровня масштабирования и фильтрует данные по отображаемому в данный момент временному диапазону.