Skip to content

perf: deployment performance foundations — transport, retry, and observability #7601

Description

@jongio

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:

  1. HTTP connection poolingTunedTransport() with higher per-host idle limits to prevent socket exhaustion under parallel deploys
  2. ARM client cachingsync.Map-based caching to avoid redundant ARM client instantiation across concurrent goroutines
  3. Adaptive ARM polling — Reduce poll interval from 5s to 2s for the first 30s of deployment operations
  4. Zip deploy retry with SCM readiness probe — Detect and wait for SCM container restarts after ARM config changes
  5. isBuildFailure classifier — Distinguish transient deploy errors from permanent build failures to avoid pointless retries
  6. ACR authentication backoff — Exponential retry for 401/403 during ACR login race conditions
  7. Docker path resolution fix — Correct default Dockerfile/context resolution relative to service directory
  8. ReadRawResponse body close fix — Prevent connection leaks on non-OK HTTP responses
  9. OTel tracing spans — 11 spans across deploy, container, and ARM operations for profiling

Spec

Full design spec: docs/specs/perf-foundations/spec.md

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions