我希望为特定的请求创建基于持续时间的存储桶。因此请求名称"A“时,我需要一个持续时间小于2秒、2秒-4秒和>4秒的计数。我使用以下命令分别获取数据:
requests
| where name == "A"
| where duration <= 2000
| summarize count()但我真正需要的是占总"A“请求的百分比的数字,例如,一个如下的表:
名称<2秒2-4秒>4秒A 89%98%99%
谢谢,克里斯
发布于 2018-07-18 02:11:23
一种方法是依赖于performanceBucket字段。这将提供一些分布,但性能存储桶是预先配置的。
requests
| where timestamp > ago(1d)
| summarize count() by performanceBucket另一种方法是这样做:
requests
| where timestamp > ago(1d)
| extend requestPeformanceBucket = iff(duration < 2000, "<2secs",
iff(duration < 2000, "2secs-4secs", ">4secs"))
| summarize count() by requestPeformanceBucket下面是如何获得百分比的方法:
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), "%")

https://stackoverflow.com/questions/51385341
复制相似问题