Azure App Insights 分析,没有特定痕迹的操作

Azure App Insights analytics, operations without specific trace

TL;DR;
我想知道有多少具有特定 "Operation_Name" 且没有特定跟踪消息的唯一 "operations_id"。

长版
我的应用程序将缓存未命中跟踪到 ms azure application insights。
现在,我正在为缓存持续时间使用静态 window(5 分钟)。

我想评估缓存的有效性,所以我需要知道每次未命中缓存的次数。更具体地说,我想知道给定操作的这个比例:"POST MyController/MyAction"。

此操作记录相同的跟踪节奏,但数量不同(根据结果集,记录 1 到 11 条额外消息)除非存在缓存未命中,这会导致 "Cache miss" 追踪弹出...

所以,基本上我需要的是计算不包含值为 "Cache miss" 的跟踪消息的操作 ID 的数量。我该怎么做?

好的,所以我们需要做的是使用 project 将每个跟踪线标记为具有或不具有缓存未命中跟踪线,然后 summarize 通过会话 ID 将这些指标的总和标记为具有或不具有缓存未命中跟踪线。
从那里开始,只需通过会话 ID 将这些指标与具有所需名称的请求连接起来即可,因此:

traces 
| project session_Id, isCacheMiss = iff(message contains "Cache miss", 1, 0)
| summarize sum(isCacheMiss) by session_Id
| project session_Id, isCacheMiss = sum_isCacheMiss > 0
| join (
    requests
    | where name == "POST MyController/MyAction"
    | project session_Id  
) on session_Id 
| summarize count() by isCacheMiss