如何在Azure KQL的timechart上添加请求时长总平均线?
在KQL中为Timechart添加总平均线的实现方案
完全可以实现。以下是修改后的查询代码,同时附关键逻辑说明:
最终KQL查询
requests | where url has "api/FileHandover" | project Duration = duration, Timestamp = timestamp // 按指定时间粒度聚合单时段平均时长,这里用1分钟粒度,可按需调整 | summarize period_avg = avg(Duration) by bin(Timestamp, 1m) // 计算全量数据的总平均时长,作为常量列加入结果 | extend overall_avg = toscalar(requests | where url has "api/FileHandover" | summarize avg(Duration)) // 渲染带双曲线的时间图 | render timechart with (title = "文件交接API请求时长趋势及总平均线")
核心逻辑说明
- 时间粒度控制:
bin(Timestamp, 1m)用于将时间戳按分钟分组,你可以替换为5m、1h等匹配你的数据密度 - 总平均线计算:
toscalar()函数会执行子查询并返回一个单一值,将这个总平均值作为固定列添加到每一行,渲染时就会显示为一条水平直线 - 曲线区分:timechart会自动将
period_avg(时段平均)和overall_avg(总平均)绘制成两条不同的曲线,方便对比
内容的提问来源于stack exchange,提问作者Lukas Méndez Duus
相关产品推荐
相关产品推荐

