[Agent Skill] Rename to analyze-azdo-build, add retry support, and more#8247
Conversation
BenchmarksBenchmark execution time: 2026-03-13 20:54:09 Comparing candidate commit afd30db in PR branch Found 10 performance improvements and 6 performance regressions! Performance is the same for 164 metrics, 12 unstable metrics. scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleMoreComplexBody net6.0
scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.AllCycleSimpleBody net6.0
scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorMoreComplexBody netcoreapp3.1
scenario:Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody netcoreapp3.1
scenario:Benchmarks.Trace.Asm.AppSecEncoderBenchmark.EncodeLegacyArgs net6.0
scenario:Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces net6.0
scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice net472
scenario:Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice net6.0
scenario:Benchmarks.Trace.ElasticsearchBenchmark.CallElasticsearchAsync net6.0
scenario:Benchmarks.Trace.Log4netBenchmark.EnrichedLog net6.0
scenario:Benchmarks.Trace.SingleSpanAspNetCoreBenchmark.SingleSpanAspNetCore net6.0
scenario:Benchmarks.Trace.SingleSpanAspNetCoreBenchmark.SingleSpanAspNetCore netcoreapp3.1
|
45cb57f to
2bb77c8
Compare
analyze-azdo-build with retry support and more
analyze-azdo-build with retry support and moreanalyze-azdo-build, add retry support, and more
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (8247) and master. ✅ No regressions detected - check the details below Full Metrics ComparisonFakeDbCommand
HttpMessageHandler
Comparison explanationExecution-time benchmarks measure the whole time it takes to execute a program, and are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are highlighted in **red**. The following thresholds were used for comparing the execution times:
Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard. Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph). Duration chartsFakeDbCommand (.NET Framework 4.8)gantt
title Execution time (ms) FakeDbCommand (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8247) - mean (75ms) : 73, 77
master - mean (76ms) : 74, 79
section Bailout
This PR (8247) - mean (80ms) : 78, 82
master - mean (81ms) : 78, 83
section CallTarget+Inlining+NGEN
This PR (8247) - mean (1,104ms) : 1062, 1145
master - mean (1,114ms) : 1073, 1155
FakeDbCommand (.NET Core 3.1)gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8247) - mean (119ms) : 115, 123
master - mean (120ms) : 116, 124
section Bailout
This PR (8247) - mean (120ms) : 118, 123
master - mean (122ms) : 119, 126
section CallTarget+Inlining+NGEN
This PR (8247) - mean (767ms) : 744, 791
master - mean (775ms) : 751, 800
FakeDbCommand (.NET 6)gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8247) - mean (104ms) : 101, 107
master - mean (107ms) : 103, 110
section Bailout
This PR (8247) - mean (105ms) : 103, 108
master - mean (109ms) : 106, 111
section CallTarget+Inlining+NGEN
This PR (8247) - mean (727ms) : 689, 765
master - mean (732ms) : 704, 760
FakeDbCommand (.NET 8)gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8247) - mean (103ms) : 101, 106
master - mean (107ms) : 96, 118
section Bailout
This PR (8247) - mean (105ms) : 103, 108
master - mean (107ms) : 104, 109
section CallTarget+Inlining+NGEN
This PR (8247) - mean (667ms) : 648, 686
master - mean (673ms) : 654, 693
HttpMessageHandler (.NET Framework 4.8)gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8247) - mean (195ms) : 190, 200
master - mean (199ms) : 189, 210
section Bailout
This PR (8247) - mean (197ms) : 194, 201
master - mean (202ms) : 196, 208
section CallTarget+Inlining+NGEN
This PR (8247) - mean (1,157ms) : 1095, 1219
master - mean (1,166ms) : 1102, 1231
HttpMessageHandler (.NET Core 3.1)gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8247) - mean (278ms) : 272, 283
master - mean (281ms) : 273, 290
section Bailout
This PR (8247) - mean (278ms) : 273, 283
master - mean (283ms) : 273, 293
section CallTarget+Inlining+NGEN
This PR (8247) - mean (905ms) : 879, 932
master - mean (913ms) : 882, 943
HttpMessageHandler (.NET 6)gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8247) - mean (274ms) : 266, 282
master - mean (273ms) : 267, 279
section Bailout
This PR (8247) - mean (273ms) : 267, 278
master - mean (274ms) : 268, 281
section CallTarget+Inlining+NGEN
This PR (8247) - mean (926ms) : 882, 970
master - mean (921ms) : 895, 948
HttpMessageHandler (.NET 8)gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat x
axisFormat %Q
todayMarker off
section Baseline
This PR (8247) - mean (273ms) : 263, 283
master - mean (279ms) : 271, 286
section Bailout
This PR (8247) - mean (272ms) : 266, 279
master - mean (280ms) : 272, 288
section CallTarget+Inlining+NGEN
This PR (8247) - mean (832ms) : 802, 862
master - mean (833ms) : 810, 856
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bouwkast
left a comment
There was a problem hiding this comment.
Tested it out and it walked me through all of the setup and works good 👍
analyze-azdo-build, add retry support, and moreanalyze-azdo-build, add retry support, and more
Show Stage > Job > Task tree in build analysis output instead of flat lists, making it easier to understand which tasks failed within which jobs and stages. 🤖 Co-Authored-By: Claude Code <[email protected]>
Document gh, az CLI, and azure-devops extension with verify commands, one-liner installs (winget/brew), and official docs links. Matches existing PowerShell prerequisite style. 🤖 Co-Authored-By: Claude Code <[email protected]>
Move Invoke-AzDevOpsApi, Get-BuildIdFromPR, and new Resolve-BuildId into AzureDevOpsHelpers.psm1. Update Get-AzureDevOpsBuildAnalysis.ps1 to import the module instead of duplicating these functions. 🤖 Co-Authored-By: Claude Code <[email protected]>
Retry-AzureDevOpsFailedStages.ps1 uses the shared AzureDevOpsHelpers module to retry failed/canceled stages via PATCH to the stages API. Supports -All, -Stage, -ForceRetryAllJobs, -WhatIf, and interactive selection. 🤖 Co-Authored-By: Claude Code <[email protected]>
Add AzureDevOpsHelpers.psm1 and Retry-AzureDevOpsFailedStages.ps1 sections to scripts-reference.md. Add retry failed stages option to the investigation menu in SKILL.md. 🤖 Co-Authored-By: Claude Code <[email protected]>
🤖 Co-Authored-By: Claude Code <[email protected]>
Use *.ps*1 glob to cover .ps1, .psm1, and .psd1 in a single pattern. 🤖 Co-Authored-By: Claude Code <[email protected]>
Restrict the broad `Bash(pwsh:*)` permission to only the three specific pwsh commands the skill actually uses: version check, Get-AzureDevOpsBuildAnalysis.ps1, and Retry-AzureDevOpsFailedStages.ps1. 🤖 Co-Authored-By: Claude Code <[email protected]>
c3ddaf8 to
afd30db
Compare
analyze-azdo-build, add retry support, and moreanalyze-azdo-build, add retry support, and more
Summary of changes
troubleshoot-ci-buildtoanalyze-azdo-buildgh,azCLI, andazure-devopsextensionReason for change
The CI build analysis skill needed several improvements:
troubleshoot-ci-buildwas generic;analyze-azdo-buildis more specificImplementation details
.claude/skills/troubleshoot-ci-build/to.claude/skills/analyze-azdo-build/and updated the skill name/descriptionGet-FailureHierarchyfunction that walksparentIdchains in timeline records to build a Stage > Job > Task tree viewAzureDevOpsHelpers.psm1): ExtractedInvoke-AzDevOpsApi,Get-BuildIdFromPR, and newResolve-BuildIdinto a reusable PowerShell moduleRetry-AzureDevOpsFailedStages.ps1): Retries failed/canceled stages via the Azure DevOps stages API; supports-All,-Stage,-ForceRetryAllJobs,-WhatIf, and interactive selectionwinget/brew), and official docs links for all CLI toolsallowed-tools: Replaced broadBash(pwsh:*)permission with specific patterns for the three pwsh commands the skill uses (pwsh -Version,Get-AzureDevOpsBuildAnalysis.ps1,Retry-AzureDevOpsFailedStages.ps1)SKILL.mdandscripts-reference.mddocumentation throughoutTest coverage
Tested against real Azure DevOps builds (
196471,196475) with different failure patterns.Other details