You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use that data to identify the highest-volume bare-errors.New / fmt.Errorf callsites. Hand-migrate the top N to azderrors.New(cls, ...) with proper classification codes. Iterate.
This is intentionally a data-driven activity, not a speculative sweep. The original #8018 draft listed candidate sites (az CLI "not authenticated", PowerShell "not found", confirmDestroy decline, etc.); those remain plausible starting points but should be validated against current telemetry before committing migration effort.
Process per migration round
Pull a Kusto query summarizing count() by error.chain.types, error.origin.func over the last release window.
Pick the top ~10 sites that account for the long tail.
Open one PR per package (or per cohesive group) introducing azderrors.New(cls, ...) with a stable cls.Code.
Update any sentinel-based errors.Is callers to use the new classification path if needed.
Phase 5 of #8011. Blocked on #8015 having shipped and 1–2 releases of Kusto data being available.
Summary
After
error.chain.types(#8015) has been in production for a release or two, pull Kusto data on:internal.<...>andinternal.unclassifiedResultCode buckets.error.origin.func(Add aninternal/azderrorspackage to capture error origin frames #8077) is also live.Use that data to identify the highest-volume bare-
errors.New/fmt.Errorfcallsites. Hand-migrate the top N toazderrors.New(cls, ...)with proper classification codes. Iterate.This is intentionally a data-driven activity, not a speculative sweep. The original #8018 draft listed candidate sites (az CLI "not authenticated", PowerShell "not found", confirmDestroy decline, etc.); those remain plausible starting points but should be validated against current telemetry before committing migration effort.
Process per migration round
count() by error.chain.types, error.origin.funcover the last release window.azderrors.New(cls, ...)with a stablecls.Code.errors.Iscallers to use the new classification path if needed.Out of scope
error.chain.typesspan attribute #8015 has shipped and produced Kusto data — would be speculative.fmt.Errorfcallsites — explicitly not the goal.%wfmt.Errorf— could be added later if data shows lossy-wrap dominates the catch-all.References
pkg/tools/az/az.go"not authenticated",pkg/tools/powershell/powershell.go"not found",pkg/infra/provisioning/bicep/bicep_provider.goconfirmDestroy decline are the issue's prior speculation.