elastic-stack - 通过 id 相关性从事件数据中计算指标
问题描述
我有一个带有工作流的应用程序,该工作流将对象从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 之类的东西来完成这项任务?我是否错误地设计了解决方案?我没有找到任何允许这种性质的查询。
解决方案
推荐阅读
- java - org.hibernate.HibernateException:迁移到 Hibernate 5 后当前事务不在进行中
- rest - PATCH 与 POST - 增量计数器
- python - 将部分添加到现有字符串的正确方法是什么
- r - 基于原始和特定行的新值重新排名
- php - 如何从数据库中获取数据并在 PHP 中发送响应?
- javascript - jQuery 浮点图表使用 webpack 生成“Uncaught TypeError: e.setTimeout is not a function”
- django - 如何在 Django 表单中显示标记而不是纯文本?
- mysql - MySQL 如何处理多语句?在后端同时执行?
- android - 科特林。没有返回值的函数的空返回
- php - PHP Mysql Ajax - 动态下拉菜单不起作用