Skip to content

[release/13.6] Reduce dashboard CPU under sustained metric ingestion - #20747

Merged
Jose Perez Rodriguez (joperezr) merged 1 commit into
release/13.6from
backport/pr-20736-to-release/13.6
Oct 6, 2026
Merged

Jose Perez Rodriguez (joperezr) merged 1 commit into
release/13.6from
backport/pr-20736-to-release/13.6

Conversation

@aspire-repo-bot

@aspire-repo-bot aspire-repo-bot Bot commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

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.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 20747

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 20747"

@JamesNK James Newton-King (JamesNK) added this to the 13.6.x milestone Oct 5, 2026
@JamesNK James Newton-King (JamesNK) added the Servicing-consider Issue for next servicing release review label Oct 5, 2026
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Tests selector

Selects 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 d69560a.

@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@joperezr
Jose Perez Rodriguez (joperezr) merged commit 3751e61 into release/13.6 Oct 6, 2026
839 of 843 checks passed
@microsoft-github-policy-service microsoft-github-policy-service Bot removed this from the 13.6.x milestone Oct 6, 2026
@aspire-repo-bot

Copy link
Copy Markdown
Contributor Author

✅ No documentation update needed.

Step 5 branch taken: excluded → base_branch_is_release, head_branch_is_backport, title_release_prefix, body_backport_marker

Triggered signals: none (signal_count = 0; excluded overrides the docs_optional recommendation regardless).

Exclusion reasons (from .pr-docs-check/signals.json):

  • base_branch_is_release — PR base is release/13.6.
  • head_branch_is_backport — head branch follows the automated backport-bot naming pattern.
  • title_release_prefix — title is prefixed [release/13.6].
  • body_backport_marker — PR body states "Backport of Reduce dashboard CPU under sustained metric ingestion #20736 to release/13.6".

This PR is a backport of #20736 to release/13.6, created by aspire-repo-bot[bot]. Per the workflow's backport-exclusion rule, documentation for this change belongs on the original forward PR (#20736) against the default branch, not duplicated here. No docs PR is drafted for this backport.

This was referenced Oct 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-dashboard Servicing-consider Issue for next servicing release review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants