使用 Flux 查询获取某个时间间隔内桶中的点数

Get the number of points in a bucket for a time interval with Flux query

给定一个桶,我如何使用 Flux 查询在给定时间间隔内获得这个桶中带有时间戳的点数?

我正在尝试估算每单位时间有多少数据被添加到 influxdb2 存储桶中。

我认为它应该是这样的:

from(bucket: "my_bucket")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "my_measurement")
  |> window(period: 30s)
  |> group(columns: ["_start"])
  |> count()

首先我们按时间分离数据window |> window(period: 30s) 然后我们按新的 _start 时间分组并获得记录数。

这就是我最后做的事情:

from(bucket: "mybucket")
  |> range(start: -1m)
  |> group()  
  |> count()

在我的例子中,桶中有大量的系列(table 流 return 由 from 编辑)所以我不得不添加不带参数的 group() 将其组合成一个在 count() 之前单个 table。否则它将 return 每个 table 的计数分开。

来自助焊剂手册:

An empty group key groups all data in a stream of tables into a single table