Repository navigation
[release/13.6] Reduce dashboard CPU under sustained metric ingestion - #20747
Jose Perez Rodriguez (joperezr) merged 1 commit into
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 20747Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 20747" |
Tests selectorSelects the full PR test matrix + all PR-gated jobs (ALL) — run-all fallback: 'benchmarks/Aspire.Dashboard.Benchmarks/TelemetryRepositoryMetricsBenchmarks.cs' is neither Layer-1-owned nor matched by a Layer 2 rule Selection computed for commit |
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
3751e61
into
release/13.6
|
✅ No documentation update needed. Step 5 branch taken: Triggered signals: none ( Exclusion reasons (from
This PR is a backport of #20736 to |
Backport of #20736 to release/13.6
/cc James Newton-King (@JamesNK)
Customer Impact
In Aspire 13.6, long-running AppHosts with sustained metric ingestion can consume steadily increasing dashboard CPU even under a fixed or idle workload. A reported 15-project AppHost reached approximately 70% of one core after 6.8 hours, with significant SQLite churn and database growth.
Testing
Passed 59 targeted SQLite metrics and persistence tests, excluding quarantined and outerloop tests. The source PR also validated the before/after ingestion benchmarks and smoke-tested all 12 existing metrics-query benchmark cases. Backport PR CI is currently in progress.
Risk
Low. The change is localized to SQLite metric-retention cleanup, preserves the existing retention limit and cascading deletes, and adds focused coverage for retention, database reopening, and transaction-failure recovery. It makes no public API or database schema changes.
Regression?
Yes — introduced in 13.6 with SQLite-backed telemetry in #18924.