如何使用Azure App Insights查询各API单日最大小时调用量
Azure App Insights 查询:指定日期内各API的每小时最大调用量
需求说明
需要查询指定日期范围内,每个API在各小时统计周期内的调用总量,再提取每个API对应的最大小时调用量。
示例数据:
- API A:13:00-14:00总调用量10,14:00-15:00总调用量20,15:00-16:00总调用量15
- API B:13:00-14:00总调用量5,14:00-15:00总调用量8,15:00-16:00总调用量10
- API C:13:00-14:00总调用量30,14:00-15:00总调用量12,15:00-16:00总调用量9
期望输出格式:
| operation_Name | MaxRequestcount |
|---|---|
| API A | 20 |
| API B | 10 |
| API C | 30 |
修正后的查询语句
requests // 筛选指定日期范围,替换为实际需要的时间区间 | where timestamp between(datetime(2024-01-01 00:00:00) .. datetime(2024-01-01 23:59:59)) // 按1小时时间桶和API名称分组,统计每个小时的总调用量 | summarize HourlyTotal = sum(itemCount) by bin(timestamp, 1h), operation_Name // 按API名称分组,提取该API所有小时总调用量中的最大值 | summarize MaxRequestcount = max(HourlyTotal) by operation_Name // 可选:按最大调用量降序排序 | order by MaxRequestcount desc
语句解释
where timestamp between(...):筛选目标日期范围,需替换为实际业务需要的起止时间- 第一个
summarize:按1小时周期和API分组,计算每个小时的总调用量(sum(itemCount)) - 第二个
summarize:对每个API,提取所有小时总调用量里的最大值 order by:可选操作,将结果按最大调用量从高到低排序
内容的提问来源于stack exchange,提问作者Tech lover
相关产品推荐
相关产品推荐

