计算积分的时间序列数据库

时间:2016-04-07 02:10:43

标签: time-series

我有一个包含以下信息的数据集:

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。

谢谢!

2 个答案:

答案 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])