Рассчитать метрики из данных событий по корреляции идентификаторов - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть приложение с рабочим процессом, который принимает объект через набор состояний, начиная с S_1 -> S_N.Я хотел бы зарегистрировать все изменения состояния с соответствующими данными, например, так:

событие: {id, отметка времени, состояние}

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

Пример SQL-запроса для этих данных выглядит следующим образом (пожалуйста, извините мои навыки SQL, если этот запрос плохо спроектирован):

select age(m2.event_time, m1.event_time) from events m1 inner join events m2 on m1.m_id = m2.m_id and m1.state = 'STATE_X' and m2.state = 'STATE_Y';

Это решение требует реляционной базы данных, что создает проблемы для масштабируемости и удобства обслуживания.У нас уже есть база данных временных рядов, и в идеале я хотел бы использовать ее для этой цели.Есть ли способ использовать что-то вроде ELK или Prometheus или InfluxDB для выполнения этой задачи?Я разработал решение неправильно?Ничто из того, что я нашел, не учитывает запросы такого рода.

...