应用程序洞察中请求的持续时间范围

bs1*_*cad 5 azure-application-insights

我希望根据持续时间为某些请求创建存储桶。因此,对于名称“A”的请求,我需要计算持续时间小于 <2secs、2secs-4secs 和 >4secs 的时间。我使用以下方法单独获取数据:

requests
| where name == "A"
| where duration <= 2000
| summarize count()
Run Code Online (Sandbox Code Playgroud)

但我真正需要的是占“A”请求总数百分比的数字,例如,如下表:

名称 <2secs 2-4 secs >4secs A 89% 98% 99%

谢谢,克里斯

Zak*_*iMa 6

一种方法是依靠 performanceBucket 字段。这将提供一些分配,但性能桶是预先配置的。

requests
| where timestamp > ago(1d)
| summarize count() by performanceBucket
Run Code Online (Sandbox Code Playgroud)

另一种方法是做这样的事情:

requests
| where timestamp > ago(1d)
| extend requestPeformanceBucket = iff(duration < 2000, "<2secs",
    iff(duration < 2000, "2secs-4secs", ">4secs"))
| summarize count() by requestPeformanceBucket
Run Code Online (Sandbox Code Playgroud)

这是获得百分比的方法:

let dataSet = requests
| where timestamp > ago(1d);
let totalCount = toscalar(dataSet | count);
dataSet
| extend requestPeformanceBucket = iff(duration < 2000, "<2secs",
    iff(duration < 2000, "2secs-4secs", ">4secs"))
| summarize count() by requestPeformanceBucket
| project ["Bucket"]=requestPeformanceBucket, 
          ["Count"]=count_, 
          ["Percentage"]=strcat(round(todouble(count_) / totalCount * 100, 2), "%")
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明