зеркало из https://github.com/microsoft/BuildXL.git
24 строки
1.4 KiB
Plaintext
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 |