You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何优化KQL查询以显示HTTP函数无调用时段的0值统计?

解决App Insights中HTTP函数无调用时段的统计问题

要实现包含无调用时段(显示0值)的连续时间序列统计,核心思路是先生成完整的时间区间序列,再与实际调用统计结果做左连接,把没有匹配到的时段填充为0。

完整KQL查询语句

// 生成连续的10分钟时间区间,示例取最近24小时,可按需调整时间范围
let time_bins = range timestamp from ago(24h) to now() step 10m;
// 统计函数被调用的时段次数
let function_call_stats = traces 
    | where message contains "function invoked" 
    | summarize call_count = count() by bin(timestamp, 10m);
// 关联时间区间与统计数据,无调用时段自动填充0
time_bins
| left join function_call_stats on timestamp
| project timestamp, call_count = coalesce(call_count, 0)
| sort by timestamp asc

关键部分说明

  • 生成连续时间序列:用range函数创建从指定起始时间到当前时间的10分钟间隔序列,确保每个时段都被覆盖,不会因为无调用日志而缺失。你可以修改ago(24h)来调整时间范围,比如ago(7d)查看最近7天。
  • 左连接统计结果:left join会保留所有预先生成的时间区间,即使某个区间没有对应的调用日志,依然会出现在结果中。
  • 填充0值:coalesce(call_count, 0)把无调用时段的null值替换为0,保证折线图的连续性。

注意事项

  • 确保function_call_stats中的bin(timestamp, 10m)和range的step 10m间隔一致,避免因为时间分箱规则不同导致匹配失败。
  • 如果需要查看特定时间段(而非最近N小时),可以直接替换range的起止时间,比如range timestamp from datetime(2024-05-01 00:00:00) to datetime(2024-05-02 00:00:00) step 10m。

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 19:00:07