我需要通过解析的url组合request和customMetrics表。在输出时,它应具有公共解析的URL,平均请求的持续时间和来自CustomMetrics的请求的平均值。
此代码不起作用^(
let parseUrlOwn = (stringUrl:string) {
let halfparsed = substring(stringUrl,157);
substring(halfparsed,0 , indexof(halfparsed, "?"))
};
customMetrics
| where name == "Api.GetData"
| extend urlURI = tostring(customDimensions.RequestedUri)
| extend urlcustomMeticsParsed = parseUrlOwn(urlURI)
| extend unionColumnUrl = urlcustomMeticsParsed
| summarize summaryCustom = avg(value) by unionColumnUrl
| project summaryCustom, unionColumnUrl
| join (
requests
| where isnotempty(cloud_RoleName)
| extend urlRequestsParsed = parseUrlOwn(url)
| extend unionColumnUrl = urlRequestsParsed
| summarize summaryRequests =sum(itemCount), avg(duration)
| project summaryRequests, unionColumnUrl
) on unionColumnUrl
答案 0 :(得分:0)
而不是发明自己的网址解析,如何使用parse_url
(https://docs.loganalytics.io/docs/Language-Reference/Scalar-functions/parse_url())并使用它?
请求中的summarize
行似乎也加入了,并未在网址上进行汇总,因此我不确定其是如何运作的。
不应该这一行:
| summarize summaryRequests =sum(itemCount), avg(duration)
是
| summarize summaryRequests =sum(itemCount), avg(duration) by unionColumnUrl
就像在查询的指标部分一样。 (另外,你为什么要计算总结中的平均值?你只是把它扔掉而不是将它投射到下一行。