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%
谢谢,克里斯
一种方法是依靠 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)
| 归档时间: |
|
| 查看次数: |
1402 次 |
| 最近记录: |