Summary
Targeted performance foundations to reduce deployment latency when multiple services are provisioned and deployed concurrently during azd up.
Parent Issue
Part of #7526 — azd Performance Improvements: Parallelism, Startup, and E2E Latency
Scope
This issue covers the foundational transport, retry, and observability layer needed before higher-level parallelism work can proceed:
- HTTP connection pooling —
TunedTransport() with higher per-host idle limits to prevent socket exhaustion under parallel deploys
- ARM client caching —
sync.Map-based caching to avoid redundant ARM client instantiation across concurrent goroutines
- Adaptive ARM polling — Reduce poll interval from 5s to 2s for the first 30s of deployment operations
- Zip deploy retry with SCM readiness probe — Detect and wait for SCM container restarts after ARM config changes
isBuildFailure classifier — Distinguish transient deploy errors from permanent build failures to avoid pointless retries
- ACR authentication backoff — Exponential retry for 401/403 during ACR login race conditions
- Docker path resolution fix — Correct default Dockerfile/context resolution relative to service directory
ReadRawResponse body close fix — Prevent connection leaks on non-OK HTTP responses
- OTel tracing spans — 11 spans across deploy, container, and ARM operations for profiling
Spec
Full design spec: docs/specs/perf-foundations/spec.md
Summary
Targeted performance foundations to reduce deployment latency when multiple services are provisioned and deployed concurrently during
azd up.Parent Issue
Part of #7526 — azd Performance Improvements: Parallelism, Startup, and E2E Latency
Scope
This issue covers the foundational transport, retry, and observability layer needed before higher-level parallelism work can proceed:
TunedTransport()with higher per-host idle limits to prevent socket exhaustion under parallel deployssync.Map-based caching to avoid redundant ARM client instantiation across concurrent goroutinesisBuildFailureclassifier — Distinguish transient deploy errors from permanent build failures to avoid pointless retriesReadRawResponsebody close fix — Prevent connection leaks on non-OK HTTP responsesSpec
Full design spec:
docs/specs/perf-foundations/spec.md