Run Performance Profiler

Prerequisites
perfprofile.readand access to Azure Monitor metrics for the selected connection/scope.- Current workload inventory for workload mode; optional AI provider for narrative and connector for tickets.
Route
Open /performance; top-level views are 🔥 Profiler, 🚀 Fleet, and 🧹 Cleanup.
How to profile a workload or subscription and choose a window
- Open Profiler and choose workload or subscription scope, not both.
- Confirm connection and inventory.
- Select a preset ISO-duration window such as one or seven days, or the supported custom range. Use short windows for spikes and longer windows for recurring patterns.
- Select Run profile and monitor streamed progress; the run persists and can continue across navigation.
- Select the completed row in Profile history when it is not already displayed.
Expected result: A persisted profile contains resource metrics, baseline states, bottlenecks, scorecard, narrative when available, and exact run window.
Verification: Confirm scope, run time, displayed start/end window, profiled/resource counts, scan-cap warnings, and connection status.
How to analyze the heatmap and all resources
- Open Heatmap and start with highest bottleneck scores and red/amber cells.
- Inspect metric value, threshold/baseline, resource, type, region, and available trend/detail.
- Filter resource types or choose a resource to narrow the matrix.
- Open All Resources for the full searchable/filterable virtualized resource list.
- Correlate with deployments, scaling, logs, dependencies, and user-impact telemetry.
- Treat green as “did not cross this baseline,” not proof of service health.
Expected result: A small set of candidate bottlenecks is supported by metric observations.
Verification: Reproduce important values in Azure Monitor for the same resource, aggregation, and time window.
How to use narrative, findings, tickets, evidence, and PDF
- Read the AI narrative as a hypothesis and compare every claim with the matrix.
- Select 🛡️ Register findings to create Performance-pillar findings from current bottlenecks.
- For a specific bottleneck, choose 🎫 Ticket and the intended connector.
- Select 🗄 Evidence to capture the currently viewed run as an immutable Evidence Locker snapshot.
- Select 📄 PDF for the current or historical run; wait for generation or cancel the request.
- Open Assessments/Evidence/external ticket and confirm the handoff.
Expected result: Validated bottlenecks have traceable findings, ticket/evidence records, or a report.
Verification: Match scope, run ID/time, resource, metric, threshold, and window in each handoff.
How to operate fleet profiling
- Open 🚀 Fleet and review latest score, breaches, top bottleneck, staleness, and failed/never-profiled rows.
- Filter/sort, select a bounded set, and launch supported mass profiling.
- Let background runs continue; do not submit duplicates while a row is running.
- Retry failed rows after checking throttling/access, then open each workload’s profile.
Expected result: Fleet rows update with terminal latest profiles and clear stale/error state.
Verification: Confirm each selected workload’s profile time/window and drill-down result.
How to use history and cleanup
- Use Profile history to select comparable runs and download a run-specific PDF.
- Move obsolete runs to Trash first; restore if required.
- Open 🧹 Cleanup for bulk retention review.
- Purge individual or all trashed runs only after evidence/report retention is satisfied.
Expected result: Useful history remains available and obsolete data follows recoverable-then-permanent deletion.
Verification: Restored runs reopen; purged runs do not; evidence snapshots remain separate records.
Safety and rollback
- Profiling is read-only against Azure; it does not change thresholds/resources.
- Metrics are delayed/aggregated and scan caps may omit resources.
- AI causality is untrusted. Correlate before ticket/remediation.
- Findings/tickets/evidence are records; correct them in their owning systems.
- Trash is rollback for run deletion; purge is irreversible.
Troubleshooting
| Symptom | Resolution |
|---|---|
| No resources | Check scope, inventory, connection, and metric-read access. |
| Many no-data cells | Check metric support, window, aggregation, provider delay, and permissions. |
| Refresh is slow/fails | Narrow scope/window, inspect streamed error, and allow Azure backoff. |
| Result is stale | Select current scope and run an explicit profile. |
| Score conflicts with experience | Review service-level telemetry, dependencies, and baseline suitability. |
| Evidence/PDF unavailable | Select a completed persisted run and verify storage/permission. |