如何用NRQL的LATEST查询生成连续状态曲线图?
问题背景
我有一个任务,会在依赖项状态变化时上报其状态:依赖项宕机时上报0,恢复时上报1。但由于依赖项较为稳定,上报频率极低。
执行如下NRQL语句:
FROM SomeEvent SELECT `service-status`
会得到如下表格:
timestamp | service-status -------------------------- ... | 1 ... | 1
我使用了如下NRQL语句:
FROM SomeEvent SELECT latest(`service-status`) TIMESERIES
但该语句仅生成一张仅在上报时间点显示点状的图表:
期望结果
我希望将点状图表改为连续折线,即使没有新的上报数据,也能显示状态仍为1。换句话说,需要用最新值填充数据间隙。
解决方案
在NRQL的TIMESERIES子句后添加FILL(latest)参数,即可让系统自动用最近的有效值填充数据间隙,生成连续折线图:
FROM SomeEvent SELECT latest(`service-status`) TIMESERIES FILL(latest)
补充说明
FILL(latest)会针对每个时间间隔,若没有新的上报数据,就自动沿用最近一次的service-status值- 若需要指定时间间隔,可在
TIMESERIES后添加粒度参数,比如TIMESERIES 1 MINUTE FILL(latest),让折线的时间粒度更贴合需求
内容的提问来源于stack exchange,提问作者Alec
相关产品推荐
相关产品推荐

