0

我需要计算错误率,公式是 countError/count

我试过加入,但有点卡住了该做什么

count = from(bucket: "stress")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["application"] == "application name"
        and  r["_field"] == "count"
        and  r["transaction"] == "all")
  |> sum(column: "_value") 

  countError = from(bucket: "stress")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["application"] == "application name"
        and  r["_field"] == "countError"
        and  r["transaction"] == "all")
  |> sum(column: "_value")


join(
tables: {count,countError},
on: ["_value"]
)
4

1 回答 1

0

经过更多的试验,我想通了。我需要使用地图

count = from(bucket: "stress")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["application"] == "application name"
        and  r["_field"] == "count"
        and  r["transaction"] == "all")
  |> sum(column: "_value") 


  countError = from(bucket: "stress")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["application"] == "application name"
        and  r["_field"] == "countError"
        and  r["transaction"] == "all")
  |> sum(column: "_value")

join(
tables: {cn:count,ce:countError},
on: ["_measurement"]
)
  |> map(fn: (r) => ({
      _value: r._value_ce / r._value_cn
    })
  )
于 2021-10-06T08:43:23.267 回答