,你想要实现什么?
我想要构建一个饼形图,显示我的机器人处于特定状态模式的时间百分比,就像图像显示的那样:样例饼图。
我希望它能监控整个历史的状况,这样我就能在几个月后看到我的机器人做得最多,做得更少。
例如:如果它运行100秒,充电50,睡眠25s和步行25s,它应该会产生我的示例图形。
你是如何实现这一目标的?我编写了一个c#程序,用于在机器人状态发生变化时以下列格式插入数据:“status,Status=”Walking“Duration=50”
所以在这个例子中,这意味着机器人行走了50秒,然后切换到可能充电或睡觉的状态。一旦他切换状态,就会将前一个状态的持续时间发送到进水数据库,并且持续时间计数器开始对以下状态进行计时。
发生了什么?我的问题是:我想把grafana中的“步行”、“睡眠”和“充电”的所有值加起来,这样我就可以得到一个完整的步行时间等等,这样我就可以显示它做了什么。
所以机器人先行走10秒,然后充电20秒,再走10s,这应该是一个饼图,显示50%的步行和50%的充电。
有办法在地堑和进水数据库中实现这一点吗?如果需要的话,我也可以更改数据格式,…
谢谢你的帮助,我真的是个地堑和进水数据库的初学者,它把我逼疯了。
发布于 2022-09-22 23:26:13
您需要在Grafana中查询:
SELECT sum("duration")
FROM "<measurement>"
WHERE $timeFilter
GROUP BY "status"
请记住,status
是InfluxDB标记,duration
是InfluxDB字段。检查InfluxDB文档什么是字段/标记。
https://stackoverflow.com/questions/73823416
复制