Telemetry Data Reference

June 12, 2026 · View on GitHub

Schema reference for all azd telemetry events, fields, and data shapes. Use this to understand what data azd emits and how to work with it.

Note

This is the public telemetry documentation. A Microsoft-internal companion set of docs (data pipeline, Kusto/Power BI reporting, runnable queries) is maintained separately for internal maintainers.

Data Shape

All azd telemetry is emitted as Application Insights RequestData envelopes. Each command execution produces one top-level span, with optional child spans for sub-operations.

Core Columns

ColumnTypeDescription
TimeGenerateddatetimeWhen the event was recorded
NamestringEvent/span name (e.g., cmd.deploy, ext.run)
DurationMsrealTotal span duration in milliseconds
SuccessboolWhether the operation succeeded
ResultCodestringError classification code (e.g., Success, service.arm.500, internal.unclassified)
OperationIdstringUnique ID for the top-level command invocation
PropertiesdynamicString/bool span attributes (JSON bag)
MeasurementsdynamicNumeric span attributes (JSON bag)
AppVersionstringazd CLI version

Accessing Properties and Measurements

// String properties
| extend TemplateId = tostring(Properties['project.template.id'])

// Numeric measurements
| extend InteractTimeMs = toreal(Measurements['perf.interact_time'])

// Computed execution time (excludes user interaction)
| extend ExecutionTimeMs = DurationMs - toreal(Measurements['perf.interact_time'])

Events Reference

Events are defined in cli/azd/internal/tracing/events/events.go. Each event becomes a span Name.

Core Command Events (cmd.*)

Commands follow the pattern cmd.<command.path> where spaces become dots.

Event PatternExampleDescription
cmd.<command>cmd.init, cmd.up, cmd.deployTop-level command execution
cmd.<group>.<command>cmd.auth.login, cmd.env.newSubcommand execution
cmd.<group>.<sub>.<command>cmd.pipeline.configDeeper subcommands

Common command events:

  • cmd.init — project initialization
  • cmd.up — full provision + deploy cycle
  • cmd.provision — infrastructure provisioning
  • cmd.deploy — application deployment
  • cmd.package — application packaging
  • cmd.down — resource teardown
  • cmd.auth.login — authentication
  • cmd.env.new / cmd.env.select — environment management
  • cmd.pipeline.config — CI/CD pipeline setup
  • cmd.monitor — monitoring
  • cmd.restore — dependency restoration

Extension Events (ext.*)

EventDescription
ext.runExtension command execution
ext.installExtension installation
ext.upgradeExtension upgrade attempt
ext.promoteRegistry promotion (e.g., dev → main)

Agent & Copilot Events

EventDescription
agent.troubleshootAgent troubleshooting session
copilot.initializeCopilot agent initialization
copilot.sessionCopilot session creation/resumption

MCP Events (mcp.*)

Event PatternDescription
mcp.<tool_name>MCP tool invocation

Infrastructure Events (arm.*)

EventDescription
arm.deploy.subscriptionARM deployment at subscription scope
arm.deploy.resourcegroupARM deployment at resource group scope
arm.stack.deploy.subscriptionARM deployment stack at subscription scope
arm.stack.deploy.resourcegroupARM deployment stack at resource group scope
arm.whatif.subscriptionARM what-if at subscription scope
arm.whatif.resourcegroupARM what-if at resource group scope
arm.validate.subscriptionARM validation at subscription scope
arm.validate.resourcegroupARM validation at resource group scope

Other Events

EventDescription
tools.pack.buildCloud Native Buildpacks build
validation.preflightLocal preflight validation
hooks.execLifecycle hook execution
aks.postprovision.skipAKS postprovision hook skipped
deploy.appservice.zipApp Service zip deployment
container.credentialsContainer registry credential retrieval
container.publishContainer image publish
container.remotebuildRemote container build
exegraph.runExecution graph run (parallel operations)
exegraph.stepSingle step within execution graph

VS Code Extension Events (azure-dev.*)

These are emitted by the VS Code extension via the VS Code telemetry framework (separate from CLI telemetry).

EventDescription
azure-dev.activateExtension activated
azure-dev.deactivateExtension deactivated
azure-dev.tasks.dotenvDotenv task executed
azure-dev.commands.cli.<cmd>.taskCLI command tasks: deploy, provision, up, down, init, restore, package, infra-delete, login-cli, pipeline-config, env-new, env-refresh, env-list, extension-install, extension-uninstall, extension-upgrade, extension-source-add
azure-dev.views.*Workspace/extensions tree view resolution (views.workspace.application.resolve, views.workspace.environment.resolve, views.extensions.resolve)
azure-dev.azureYaml.*azure.yaml language features (azureYaml.provideDiagnostics, azureYaml.provideDocumentDropEdits, azureYaml.projectRename.provideWorkspaceEdits)
azure-dev.survey-checkSurvey eligibility check
azure-dev.survey-prompt-responseSurvey prompt user response

VS RPC Events (vsrpc.*)

JSON-RPC events for VS Code ↔ azd communication. Follow the pattern vsrpc.<method>.

Fields Reference

Fields appear as Properties (strings/bools) or Measurements (numbers).

Application-Level Fields (Every Event)

These are set once at process startup and attached to every span.

Field KeyTypeDescriptionExample Values
service.namestringAlways "azd"azd
service.versionstringCLI version1.23.5
os.typestringOperating systemlinux, windows, darwin
os.versionstringOS version10.0.22621, 14.5
host.archstringCPU architectureamd64, arm64
process.runtime.versionstringGo runtime versiongo1.26.0
machine.idstringMAC address hash (pseudonymized)SHA-256 hash
machine.devdeviceidstringSQM device IDUUID string
execution.environmentstringWhere azd is runningSee Execution Environments
service.installerstringHow azd was installedmsi, brew, choco, rpm, deb
exp.assignmentContextstringExperimentation platform assignment context. Attached to every event when the experimentation flighting service is enabled.Opaque assignment string

Identity & Account Fields

Field KeyTypeDescription
user_AuthenticatedIdstringEntra ID Object ID
ad.tenant.idstringEntra ID Tenant ID
ad.account.typestringUser or Service Principal
ad.subscription.idstringAzure Subscription ID

Project Context Fields

Field KeyTypeHashed?Description
project.template.idstring✅ SHA-256Template identifier from azure.yaml metadata
project.template.versionstring✅ SHA-256Template version
project.namestring✅ SHA-256Project name
project.service.hostsstring[]Host types — see Service Targets
project.service.targetsstring[]Resolved deployment targets — see Service Targets
project.service.languagesstring[]Languages across all services — see Service Languages
project.service.languagestringLanguage of specific service being executed — see Service Languages
platform.typestringPlatform integration (e.g., aca, aks)

Service Targets

Valid values for project.service.hosts and project.service.targets:

ValueDescription
appserviceAzure App Service
containerappAzure Container Apps
containerapp-dotnetAzure Container Apps (Aspire)
functionAzure Functions
staticwebappAzure Static Web Apps
springappAzure Spring Apps
aksAzure Kubernetes Service
ai.endpointAzure AI endpoint

Service Languages

Valid values for project.service.languages and project.service.language:

ValueDescription
dotnet.NET
csharpC#
fsharpF#
pythonPython
jsJavaScript
tsTypeScript
javaJava
dockerDocker (containerized)
swaStatic Web App
customCustom framework

Other Project Fields

Field KeyTypeHashed?Description
env.namestring✅ SHA-256Environment name
config.featuresstring[]Alpha/preview feature flags enabled for the run (e.g., all, or individual feature IDs)

Joining with template names: Template IDs are hashed. To resolve to human-readable names, join with a template lookup table using the hashed project.template.id.

Command Entry-Point Fields

Field KeyTypeDescription
cmd.flagsstring[]Flag names that were set (values not recorded)
cmd.args.countmeasurementNumber of positional arguments
cmd.entrystringHow the command was invoked (formatted as event name)

Error Fields

Field KeyTypeDescription
error.categorystringHigh-level error category
error.codestringSpecific error code
error.typestringSame as ResultCode — the classified error type
error.chain.typesstring[]Full Go error type chain, outermost first

Error Classification (ResultCode Taxonomy)

The ResultCode field classifies errors into categories. Understanding this taxonomy is essential for querying failures.

PatternCategoryExample
SuccessNo error
user.canceledUser cancelled the operation
auth.<detail>Authentication errorauth.login_required, auth.not_logged_in, auth.identity_failed
service.arm.<statusCode>ARM service errorservice.arm.500, service.arm.409
service.aad.<detail>Entra ID (AAD) errorservice.aad.failed
service.<name>.<code>Other Azure service errorservice.graph.403
tool.<name>.failed / tool.<name>.missingExternal tool error. Failure spans also carry error.tool.name (and error.tool.exitCode for failed); see Tool Invocation Attributestool.docker.failed, tool.git.missing
tool.multiple.missingMultiple required external tools missing; comma-separated names in error.tool.name
ext.service.<svc>.<code>Extension service errorext.service.arm.500
ext.validation.*Extension validation errorext.validation.config
ext.auth.*Extension auth errorext.auth.expired
ext.dependency.*Extension dependency errorext.dependency.missing
internal.unclassifiedCatch-all for unclassified errors
internal.errors_errorStringLegacy catch-all (being replaced by internal.unclassified)

⚠️ Known gap: Many errors historically fall into internal.errors_errorString / internal.unclassified because the error classifier only inspects the leaf error type. The error.chain.types field improves this by capturing the full error type chain.

Service Attributes (Azure API Calls)

Field KeyTypeDescription
service.hoststringAzure service host
service.namestringAzure service name (on service call spans)
service.statusCodemeasurementHTTP status code
service.methodstringHTTP method
service.errorCodemeasurementService-specific error code
service.correlationIdstringAzure correlation ID

Tool Invocation Attributes (External CLI Tools)

Set only when an external command-line tool invocation fails, during error classification. Because they are stamped onto the failed span through the error pipeline (MapError), the keys appear with an error. prefix. They describe an external process azd shells out to (e.g., docker, git) — distinct from the azd tool management fields (see Tool Management below).

Field KeyTypeDescription
error.tool.namestringName of the failed external tool (comma-separated list when multiple required tools are missing)
error.tool.exitCodemeasurementExit code returned by the failed tool

Performance Fields

Field KeyTypeDescription
perf.interact_timemeasurementTime (ms) spent waiting for user input
perf.provision_duration_msmeasurementWall-clock provisioning-phase duration (ms), emitted on up/provision
perf.deploy_duration_msmeasurementWall-clock deploy-phase duration (ms); excludes package/publish
perf.total_duration_msmeasurementTotal wall-clock duration for the entire up-graph execution (ms)

Computing execution time: ExecutionTimeMs = DurationMs - Measurements['perf.interact_time'] This gives you the actual processing time, excluding user interaction (prompts, confirmations).

Feature-Specific Fields

Authentication
Field KeyTypeValues
auth.methodstringbrowser, device-code, service-principal-secret, service-principal-certificate, federated-github, federated-azure-pipelines, federated-oidc, managed-identity, external, oneauth, check-status
Init / App Init
Field KeyTypeDescription
init.methodstringtemplate, app, project, environment, copilot
appinit.detected.databasesstring[]Databases detected during init
appinit.detected.servicesstring[]Services detected during init
appinit.confirmed.databasesstring[]Databases confirmed by user
appinit.confirmed.servicesstring[]Services confirmed by user
appinit.modify_add.countmeasurementServices added during modification
appinit.modify_remove.countmeasurementServices removed during modification
appinit.lastStepstringLast init step reached
Hooks
Field KeyTypeDescription
hooks.namestringHook name (e.g., preprovision, postdeploy). Custom hooks are SHA-256 hashed.
hooks.typestringScope: project, service, or layer
hooks.kindstringExecutor: sh, pwsh, python, js, ts, dotnet
Pipeline Config
Field KeyTypeDescription
pipeline.providerstringgithub, azdo — the resolved CI provider (after auto-detection)
pipeline.authstringfederated, client-credentials (only emitted when --auth-type is set)
Infrastructure
Field KeyTypeDescription
infra.providerstringbicep, terraform, auto
Deployment
Field KeyTypeDescription
deploy.appservice.attemptmeasurementRetry attempt number for App Service zip deploy
deploy.appservice.linuxstringWhether deploying to Linux App Service
Preflight Validation
Field KeyTypeDescription
validation.preflight.outcomestringpassed, warnings_accepted, aborted_by_errors, aborted_by_user, skipped, error
validation.preflight.diagnosticsstring[]Diagnostic IDs emitted
validation.preflight.rulesstring[]Rule IDs executed
validation.preflight.warning.countmeasurementNumber of warnings
validation.preflight.error.countmeasurementNumber of errors
Provision Cancellation
Field KeyTypeDescription
provision.cancellationstringnone, leave_running, canceled, cancel_timed_out, cancel_timed_out_nested, cancel_raced_succeeded, cancel_raced_failed, cancel_raced_deleted, cancel_too_late, cancel_failed
Multi-Layer Provision

Emitted on azd provision / azd up to measure adoption and safety of infra.layers[] parallel provisioning.

Field KeyTypeDescription
provision.layer.countmeasurementNumber of infra.layers[] declared (0 or 1 = single-layer legacy path)
provision.layer.max_parallelmeasurementLargest number of layers scheduled in one dependency level (max achievable parallelism)
provision.layer.safe_fallback_countmeasurementLayers forced to depend on all earlier layers by the safe-by-default detector
provision.layer.explicit_dependson_countmeasurementLayers using the explicit infra.layers[].dependsOn override
Environment Management
Field KeyTypeDescription
env.countmeasurementNumber of environments that exist for the current project (env list)
Container Build
Field KeyTypeDescription
container.remoteBuild.countmeasurementNumber of remote container builds performed
Copilot
Field KeyTypeDescription
copilot.session.idstringSession identifier
copilot.session.isNewstringWhether this is a new session
copilot.session.messageCountmeasurementMessages in session
copilot.init.isFirstRunstringFirst copilot run
copilot.init.reasoningEffortstringReasoning effort level
copilot.init.modelstringModel used
copilot.init.consentScopestringConsent scope
copilot.modestringCopilot mode
copilot.message.modelstringModel for specific message
copilot.message.inputTokensmeasurementInput token count
copilot.message.outputTokensmeasurementOutput token count
copilot.message.billingRatemeasurementBilling rate
copilot.message.premiumRequestsmeasurementPremium request count
copilot.message.durationMsmeasurementMessage duration
copilot.consent.approvedCountmeasurementApproved consent actions
copilot.consent.deniedCountmeasurementDenied consent actions
Extensions
Field KeyTypeDescription
extension.idstringExtension identifier
extension.versionstringExtension version
extension.installedstring[]List of installed extensions (id@version)
extension.version.fromstringVersion before an upgrade or promotion (ext.upgrade, ext.promote)
extension.version.tostringVersion after an upgrade or promotion (ext.upgrade, ext.promote)
extension.sourcestringRegistry source used for an upgrade (ext.upgrade)
extension.source.fromstringRegistry source before a promotion (ext.promote)
extension.source.tostringRegistry source after a promotion (ext.promote)
extension.upgrade.duration_msmeasurementDuration (ms) of a single upgrade (ext.upgrade)
extension.upgrade.outcomestringUpgrade result status (ext.upgrade)
extension.dependency_ofstringParent extension ID when an extension is upgraded as a dependency (ext.upgrade)
extension.dependency_upgrade_countmeasurementNumber of dependency extensions upgraded recursively (ext.upgrade)
Tool Management (azd tool)

Fields for the azd tool feature — the first-run experience and install/upgrade/check operations for azd-managed developer tools. These are distinct from the Tool Invocation Attributes above (which describe external processes azd shells out to).

Privacy: only built-in tool IDs (e.g. az-cli, vscode-bicep) and version strings are captured. No file paths, no user-identifiable data, and no raw per-tool error text — failed tool IDs are recorded, but error detail stays with the global error middleware.

Built-in tool IDs come from azd's curated tool manifest (run azd tool list to see the current set), e.g. az-cli, github-copilot-cli, vscode-azure-tools, vscode-bicep, azure-mcp-server.

First-run experience:

Field KeyTypeDescription
tool.firstrun.skip_reasonstringWhy first-run was bypassed (env_var, no_prompt, ci_cd, non_interactive, already_completed, config_error). Mutually exclusive with tool.firstrun.outcome
tool.firstrun.outcomestringTerminal state when first-run ran (completed, declined, cancelled, detect_failed, install_failed)
tool.firstrun.opt_instringWhether the user accepted the first-run prompt
tool.firstrun.tools_detectedmeasurementBuilt-in tools already installed when the check ran
tool.firstrun.tools_offeredmeasurementRecommended tools offered for installation
tool.firstrun.tools_selectedmeasurementTools the user selected to install
tool.firstrun.tools_selected_namesstringComma-separated built-in tool IDs selected (e.g. az-cli,vscode-bicep)
tool.firstrun.tools_deselected_namesstringComma-separated offered tool IDs the user deselected
tool.firstrun.install_success_countmeasurementTools installed successfully during first-run
tool.firstrun.install_failure_countmeasurementTools that failed to install during first-run
tool.firstrun.install_failed_idsstringComma-separated tool IDs that failed during first-run
tool.firstrun.install_duration_msmeasurementTotal first-run install duration (ms)

Install / upgrade / check operations:

Field KeyTypeDescription
tool.idstringBuilt-in tool ID for single-tool operations (e.g. az-cli, vscode-bicep)
tool.idsstringComma-separated tool IDs for a batch operation
tool.dry_runstringWhether --dry-run was specified
tool.install.strategystringInstall strategy used. Package-manager values come from the tool manifest (winget, brew, apt, npm, code); the installer may also report direct-download, command, or manual (no available manager)
tool.install.successstringWhether a single-target install/upgrade succeeded
tool.install.success_countmeasurementTools that succeeded in a batch install/upgrade
tool.install.failure_countmeasurementTools that failed in a batch install/upgrade
tool.install.failed_idsstringComma-separated tool IDs whose install/upgrade failed
tool.install.duration_msmeasurementTotal install/upgrade duration (ms)
tool.upgrade.from_versionstringPrevious version (single-target upgrade)
tool.upgrade.to_versionstringNew version after a successful upgrade (single-target)
tool.check.updates_availablemeasurementInstalled tools with an available update (azd tool check)
MCP
Field KeyTypeDescription
mcp.client.namestringMCP client name
mcp.client.versionstringMCP client version
Execution Graph
Field KeyTypeDescription
exegraph.step.countmeasurementTotal steps in graph
exegraph.max_concurrencystringEffective concurrency limit
exegraph.error_policystringfail_fast or continue_on_error
exegraph.step.namestringStep name. SHA-256 hashed — embeds user-defined service/layer names from azure.yaml
exegraph.step.depsstring[]Step dependencies (other step names). SHA-256 hashed for the same reason
exegraph.step.tagsstring[]Step tags (fixed internal vocabulary; emitted raw)
exegraph.step.timeout_smeasurementPer-step timeout in seconds, if set
Pack (Buildpacks)
Field KeyTypeDescription
pack.builder.imagestringBuilder image name
pack.builder.tagstringBuilder image tag
Update
Field KeyTypeDescription
update.channelstringUpdate channel
update.installMethodstringInstallation method
update.fromVersionstringVersion before update
update.toVersionstringVersion after update
update.resultstringUpdate outcome
JSON-RPC
Field KeyTypeDescription
rpc.methodstringRPC method name
rpc.jsonrpc.request_idstringRequest ID
rpc.jsonrpc.error_codemeasurementError code
Agent
Field KeyTypeDescription
agent.fix.attemptsstringNumber of fix attempts

Execution Environments

The execution.environment field identifies where azd is running. Format: <environment>[;<modifier1>;<modifier2>...]

ValueDescription
DesktopDirect terminal usage
Visual StudioVS integration
Visual Studio CodeVS Code integration
VS Code Azure GitHub CopilotAzure Copilot in VS Code
Azure CloudShellAzure Cloud Shell
Claude CodeClaude Code AI agent
GitHub Copilot CLIGitHub Copilot CLI
GeminiGemini AI agent
OpenCodeOpenCode AI agent
GitHub ActionsGitHub Actions CI
Azure PipelinesAzure Pipelines CI
GitHub CodespacesGitHub Codespaces
Other CI systemsAppVeyor, Bamboo, BitBucket Pipelines, Travis CI, Circle CI, GitLab CI, Jenkins, AWS CodeBuild, Google Cloud Build, TeamCity, JetBrains Space

Modifier: Azure App Spaces Portal may be appended as a modifier (; separated).

Data Nuances & Gotchas

Important things to know when working with azd telemetry data. These are sourced from real investigations and issues.

OperationId Reuse in Retry/Troubleshoot Flows

When cmd.up triggers agent.troubleshoot after a failure, the troubleshoot agent may retry the failed operation (e.g., cmd.deploy). These retries share the same OperationId as the parent cmd.up span.

This means you may see multiple rows with the same OperationId and Name (e.g., two cmd.deploy rows). These are not duplicate events — they are retry attempts within a single user session.

Example pattern:

OperationId: 28ce1f2898a4fec84522107e36c22038
  cmd.up (511s, FAIL)
  ├── cmd.package ✅
  ├── cmd.provision ✅
  ├── cmd.deploy ❌ (service.arm.500)        ← attempt 1
  ├── agent.troubleshoot ✅ (471s)
  │   ├── cmd.mcp.start
  │   ├── cmd.package ✅ → cmd.provision ✅  ← retry
  ├── cmd.deploy ❌ (service.aad.failed)      ← attempt 2
  └── cmd.deploy ❌ (service.aad.failed)      ← attempt 3

Impact on queries:

// ❌ WRONG — counts retries as separate invocations
| where Name == 'cmd.deploy' | summarize count()

// ✅ CORRECT — count distinct OperationIds to get unique invocations
| where Name == 'cmd.deploy' | summarize dcount(OperationId)

// ✅ Or be explicit about only first attempts
| where Name == 'cmd.deploy'
| summarize arg_min(TimeGenerated, *) by OperationId

The internal.unclassified / internal.errors_errorString Catch-All

Many failed commands produce the catch-all result code internal.errors_errorString (being renamed to internal.unclassified). This happens because the error classifier inspects only the leaf error type, and errors.New() / fmt.Errorf() without %w produce *errors.errorString, which has no domain meaning.

To investigate these errors:

  1. Check error.chain.types (if available) for the full error type chain
  2. Correlate with service.errorCode or service.statusCode for Azure API failures
  3. Look at surrounding span context (same OperationId) for additional detail

Hashed Fields and Template Joins

Fields like project.template.id, project.name, env.name, exegraph.step.name, and exegraph.step.deps are SHA-256 hashed before emission to protect privacy. You cannot reverse them. (hooks.name is also hashed except for built-in lifecycle hook names.)

To resolve template IDs to human-readable names, join with a template lookup table using the hashed ID.

Execution Time vs Duration

DurationMs includes time the user spent at prompts (confirmations, selections). To compute actual execution time:

| extend ExecutionTimeMs = DurationMs - toreal(Measurements['perf.interact_time'])

Feature → Telemetry Mapping

How to find telemetry for a given feature area. Start here if you know the feature and want to know what to query.

Feature AreaKey EventsKey Fields / FiltersWhat You Can Measure
Core Workflows (init/up/deploy/provision/down)cmd.init, cmd.up, cmd.deploy, cmd.provision, cmd.downcmd.entry, cmd.flagsAdoption, success rate, duration, error patterns
Deployment Targetscmd.deploy, cmd.packageproject.service.targets (appservice, containerapp, aks, etc.)Usage by target, success rate per target
Container Apps (Aspire)cmd.deploy, cmd.provisionproject.service.targets = containerapp-dotnet, platform.type = acaAspire-specific adoption and success
Language Supportcmd.deploy, cmd.package, cmd.restoreproject.service.languages, project.service.languageUsage by language
Templatescmd.init, cmd.upproject.template.id (hashed — join with template lookup to resolve)Template adoption, success by template
Provisioning (IaC)cmd.provision, arm.deploy.*, arm.validate.*infra.provider (bicep, terraform)Provision success, ARM errors, duration
Authenticationcmd.auth.loginauth.methodAuth method usage, failure rates
CI/CD Pipelinescmd.pipeline.configpipeline.providerPipeline setup adoption
Extensionsext.run, ext.install, ext.upgradeextension.id, extension.version, extension.installedExtension adoption, errors
MCPmcp.<tool_name>mcp.client.name, mcp.client.versionTool usage by client
Agentic (Copilot)copilot.initialize, copilot.sessioncopilot.mode, copilot.init.model, copilot.message.*Session counts, token usage
Agent Troubleshootingagent.troubleshootagent.fix.attemptsAuto-fix adoption, retry counts
VS Code Extensionazure-dev.*azure-dev.commands.<cmd>VS Code usage, command usage
Execution EnvironmentAll eventsexecution.environmentUsage by environment, CI vs local
Self-Updatecmd.updateupdate.installMethod, update.fromVersionUpdate adoption
Hookshooks.exechooks.name, hooks.type, hooks.kindHook usage by type
Container Buildcontainer.publish, container.remotebuild, tools.pack.buildpack.builder.imageBuild method usage, success rates
Tool Management (azd tool)cmd.tool.install, cmd.tool.upgrade, cmd.tool.checktool.id, tool.install.strategy, tool.firstrun.outcomeFirst-run adoption, install/upgrade success, update availability

See Also