BuildXL/Shared/Scripts/kusto/CheckMissingEventInCachemis...

24 строки
1.4 KiB
Plaintext

let tonum = (arg0:string) { case(isempty(arg0), 0, tolong(arg0)) };
let summaryTable =
cachemissanalysisbatchresults
| extend parsed = parse_json(CacheMissAnalysisResults)
| mv-expand PerPipCacheMissAnalysis = parsed["CacheMissAnalysisResults"]
| summarize TotalCacheMiss = count() by SessionId, RelatedSessionId;
finalstatistics
| where EventInfo_Time > ago(1d)
| extend
CacheLookUpCount = tonum(Payload["FingerprintStore_CacheMissAnalysisAnalyzeCacheLookUpCount"]),
ExecutionCount = tonum(Payload["FingerprintStore_CacheMissAnalysisAnalyzeExecutionCount"]),
BatchEnqueueCount = tonum(Payload["FingerprintStore_CacheMissBatchingEnqueueCount"]),
BatchDequeueCount = tonum(Payload["FingerprintStore_CacheMissBatchingDequeueCount"])
| extend
PerformedAnalysisCount = CacheLookUpCount + ExecutionCount
| where PerformedAnalysisCount > 0 //Indicate batching is enabled
// | where SessionId == "<session-id-of-your-build>" // to check for a particular build
| join (dominoinvocation
| project SessionId, UserName) on SessionId
| join (dominocompletion | where ExitCode == 0) on SessionId
| summarize PerformedAnalysisCount=sum(PerformedAnalysisCount) by RelatedSessionId, SessionId, UserName
| join summaryTable on SessionId, RelatedSessionId
| where PerformedAnalysisCount != TotalCacheMiss
| project RelatedSessionId, SessionId, PerformedAnalysisCount, TotalCacheMiss, UserName