我有一个包含以下信息的数据集:
Device # | Timestamp | In Error (1=yes, 0=false)
1 | 1459972740 | 1
1 | 1459972745 | 1
1 | 1459972750 | 0
1 | 1459972755 | 1
2 | 1459972740 | 0
2 | 1459972745 | 1
2 | 1459972750 | 1
2 | 1459972755 | 1
...
我想计算设备在特定时间段内出错的分钟数。即:"我们昨天每台设备的停机时间(以分钟为单位)和#34;。这将导致"我们的设备昨天停机时间最长","我们每天每台设备的平均错误时间是多少"等
我认为这是时间序列的经典用例,但我找不到任何可以在此数据集上计算整数聚合的产品。请注意,引擎必须能够基于先前的快照采用值。在我的示例中,如果我在1459972742和1459972752之间请求每个设备的停机时间,则设备#1的输出应为8ms,设备#2的输出应为7ms。
谢谢!
答案 0 :(得分:0)
Axibase Time Series Database提供了可以计算SLA /中断指标的阈值聚合函数的API和可视化。
Grafana: How to have the duration for a selected period
在您的情况下,阈值将为1:
"threshold": {
"max": 1
}
答案 1 :(得分:0)
VictoriaMetrics 提供了 integrate()
函数,可用于计算给定持续时间的积分。例如,以下 MetricsQL query 计算给定 metric
在过去 24 小时内的积分:
integrate(metric[24h])