Aspire

Aspire dashboard now persists telemetry across restarts

Aspire 13.6 moves dashboard telemetry from memory into SQLite, so logs, traces and metrics survive restarts. A run selector lets you revisit earlier runs of the same app. Default telemetry limits rise to 100,000 entries, and memory use drops in the team's benchmark.

Aspire Blog James Newton-King
Published
Reading time
5 min read
agent run #4
agent run #4
Go to original devblogs.microsoft.com

Report this story

Is something wrong with the summary, or do you own this content? Your message comes straight to my inbox.

Type of message

Key points

  • With Aspire 13.6, an AppHost-launched dashboard creates a separate SQLite database for each run.
  • Use the header run selector to revisit earlier runs for logs, traces, metrics and resource state.
  • Default limits for console logs, structured logs and traces rose from 10,000 to 100,000 entries.
  • Standalone dashboards accept --persistence set to None, Run or Resume; the default is None.
  • Persisted data lives under the user's .aspire directory by default; ASPIRE_HOME changes the base location.
  • In a container, mount a persistent volume, or the stored data disappears with the container.

Until now the Aspire dashboard kept telemetry only in memory, so restarting the app erased logs, traces and metrics. Aspire 13.6 adds persistence: each dashboard launch creates a run with its own SQLite database. A header run selector lets you reopen an earlier run and use the same views. It is on by default when an AppHost starts the dashboard.

Storage moved to SQLite, an embedded database that runs inside the dashboard process, so no separate server is needed. Default limits for console logs, structured logs and traces rose from 10,000 to 100,000 entries, and a benchmark showed private memory falling from 1,007 MB to 241 MB. Standalone dashboards still default to no persistence, so choose Run or Resume, and mount a volume in containers.

Real-world use

  • Your AppHost failed on startup; after fixing configuration and restarting, open the earlier run to study the original error.
  • You monitor a non-.NET service with the standalone dashboard container and want its history kept across restarts by mounting a volume.
  • A microservices solution produces heavy log and trace volume locally, so you need longer history without the dashboard eating RAM.

Why it matters

Restarting the app no longer wipes the evidence you need to debug it, and you can reopen earlier runs straight from the dashboard. The lower memory footprint also matters on busy dev machines running an IDE, builds and containers alongside it.

This summary was generated by the agent from the original post on Aspire Blog. The full text and all rights belong to its author and publisher. Go to original

Related stories

Feedback

Found a bug or have an idea? Your message lands straight in my inbox.

Type of message