[docs] Add CLI startup profiling reference page - #1357
[docs] Add CLI startup profiling reference page#1357David Pine (IEvangelist) wants to merge 1 commit into
Conversation
Documents the ASPIRE_PROFILING_ENABLED environment variable and the separated telemetry stream model introduced in microsoft/aspire#17099. - New page: reference/cli/startup-profiling.mdx - Updated sidebar: reference.topics.ts Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Adds a new Aspire CLI reference page documenting “startup profiling” (exporting an end-to-end OpenTelemetry trace for CLI startup) and exposes the page in the Reference sidebar navigation.
Changes:
- Adds
startup-profiling.mdxexplaining how to enable profiling via environment variables and what telemetry is captured. - Documents the separation between reported telemetry, startup profiling, and DEBUG diagnostics streams.
- Updates the Reference CLI sidebar to include the new “Startup profiling” entry with translations.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| src/frontend/src/content/docs/reference/cli/startup-profiling.mdx | New reference page describing CLI startup profiling setup, captured spans/tags, and telemetry stream separation. |
| src/frontend/config/sidebar/reference.topics.ts | Adds the new page to the CLI reference sidebar with locale translations. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| import OsAwareTabs from '@components/OsAwareTabs.astro'; | ||
| import { Aside } from '@astrojs/starlight/components'; |
| | `process aspire.exe` | Parent CLI spawning the detached child `run` process. | | ||
| | `process aspire-managed.exe` | AppHost server process. | | ||
| | `process npm.CMD` | `npm install` runs (restore and start-time). | | ||
| | `process npx.CMD` | TypeScript guest execution phases (pre-execute type check and execute). | |
|
|
||
| The Aspire CLI can export an end-to-end OpenTelemetry trace of its startup sequence to any OTLP-compatible backend. This lets you identify which phase of startup — TypeScript guest compilation, `npm install`, AppHost server startup, or DCP initialization — is taking the most wall-clock time. | ||
|
|
||
| Startup profiling works in release CLI builds. It uses a dedicated OTLP exporter that is separate from the [Microsoft-collected CLI telemetry](/reference/cli/microsoft-collected-cli-telemetry/), so enabling profiling does not affect the reported telemetry stream and does not send data to Microsoft. |
Frontend HTML artifact readyThe latest frontend build uploaded the This comment updates automatically when a new frontend build artifact is uploaded. |
|
I'm not convinced we should add this. It's basically internal (the flag is hidden). |
|
Since it is hidden, we can close this. I agree. |
Supersedes #984.
This replacement targets
elease/13.5 because the original
elease/13.4 base branch no longer exists on microsoft/aspire.dev.
Documents changes from microsoft/aspire#17099 —
@davidfowlTargeting
release/13.4based on the source PR milestone13.4.Why this PR is needed
microsoft/aspire#17099 separated the Aspire CLI's OpenTelemetry telemetry streams into three distinct
TracerProviderpipelines: reported telemetry (Azure Monitor), startup profiling (OTLP), and DEBUG diagnostics. As a result, startup profiling now works in release CLI builds — users setASPIRE_PROFILING_ENABLED=trueplusOTEL_EXPORTER_OTLP_ENDPOINTto get an end-to-end OTLP trace of the CLI startup sequence. This user-facing capability was previously undocumented.The PR body included an explicit User-facing usage section demonstrating the environment variables, and the
TelemetryManager.csdiff showed the three-provider model and theASPIRE_STARTUP_PROFILING_ENABLEDlegacy alias.Changes
src/frontend/src/content/docs/reference/cli/startup-profiling.mdx— covers how to enable startup profiling, what spans and process tags are captured, and the three-stream separation model.src/frontend/config/sidebar/reference.topics.ts— adds the new page after the Microsoft telemetry entry in the CLI section, with translations for all supported locales.Files modified or created
src/frontend/src/content/docs/reference/cli/startup-profiling.mdxsrc/frontend/config/sidebar/reference.topics.ts