Real-time Windows system tray monitor for .NET Aspire distributed applications. Monitor CPU, memory, and health status of your Aspire resources with color-coded indicators and clickable URLs.
Install
| Product | Versions |
|---|---|
| .NET |
README
ElBruno.AspireMonitor
A Windows system tray monitor that discovers and displays Aspire running instances and their deployed resources.
Set a working folder โ monitor discovers an active Aspire instance โ instantly see all deployed services, containers, and databases with clickable URLs. Zero configuration beyond pointing to your Aspire project directory.
What It Does
ElBruno.AspireMonitor is a lightweight Windows system tray tool that works in two steps:
- Set a working folder โ Point the app to your Aspire AppHost project directory
- Auto-discover & monitor โ When
aspire runis active in that directory, the tray icon turns green and displays:- All deployed services, containers, and databases
- Real-time status and health checks
- Clickable URLs for each resource
- CPU/memory metrics for your resources
The workflow: Working Folder โ Running Instance Detection โ Live Resource Display
Perfect for developers who want instant visibility into what Aspire deployed, without switching to a browser dashboard.
๐ฏ Features
| Feature | Description |
|---|---|
| ๐ผ๏ธ Tray Status Indicator | Green (running), Yellow (warning), Red (error), Gray (not running) |
| ๐ Automatic Discovery | Finds running Aspire instances in your working folder |
| ๐ฅ๏ธ Resource Visibility | Lists services, containers, databases with endpoints |
| ๐ Clickable URLs | Open any resource directly from the app |
| โก Real-Time Updates | Automatic polling every 2 seconds (configurable) |
| ๐ Status Metrics | CPU, memory, health status for each resource |
| ๐ช System Tray Integration | Minimal footprint, always accessible in taskbar |
| โ๏ธ Single Tray Icon | One icon for unified monitoringโno clutter |
| ๐ผ Working Folder Display | Shows your chosen directory (humanized paths) |
โก Quick Start
- Download from GitHub Releases
- Run
ElBruno.AspireMonitor.exe - Set working folder when prompted (point to your Aspire AppHost directory)
- Start monitoring โ Run
aspire runfrom that directory; the tray icon will turn green with resources listed
Or install as a .NET Global Tool:
dotnet tool install --global ElBruno.AspireMonitor
aspire-monitor
For detailed setup instructions, see Quick Start Guide.
๐ผ๏ธ System Tray Status
The tray icon tells you at a glance:
| Icon | Status | Meaning |
|---|---|---|
| Running | Aspire instance found; all resources healthy | |
| Warning | Aspire running; one or more resources in warning state | |
| Error | Lost connection to Aspire or polling failed; auto-reconnect in progress | |
| Not Running | No Aspire instance found in the configured working folder |
๐ Requirements
- Windows 10 or later (WPF is Windows-only)
- .NET 10 Runtime (download)
- .NET Aspire running locally on your machine
๐ Usage
First Run
Download the latest release from GitHub Releases and run ElBruno.AspireMonitor.exe.
On first run, you'll be prompted for your working folder:
Enter working folder (path to your Aspire AppHost project):
C:\Projects\MyAspireApp
System Tray
- Click icon โ Show/hide resource details window
- Double-click โ Expand/collapse the main window
- Right-click โ Context menu (Settings, Refresh, Exit)
- Icon status โ Reflects instance status (green=running, yellow=warning, red=error, gray=not running)
The app automatically watches your working folder for Aspire instances. When aspire run is active, resources appear instantly.
Configuration
Edit your settings at:
%APPDATA%\Local\ElBruno\AspireMonitor\config.json
Example (working folder, polling interval, thresholds):
{
"workingFolder": "C:\\Projects\\MyAspireApp",
"pollingIntervalMs": 2000,
"cpuThresholdWarning": 70,
"cpuThresholdCritical": 90,
"memoryThresholdWarning": 70,
"memoryThresholdCritical": 90
}
See Configuration Guide for all options.
๐ Documentation
- Quick Start Guide โ Get up and running in 5 minutes
- Architecture Guide โ System design, components, data flow
- API Contract & Services โ Service layer, data contracts, retry logic
- Configuration Guide โ Setup, CLI, advanced options
- Development Guide โ Building from source, debugging
- Publishing Guide โ NuGet publishing, versioning, releases
- Troubleshooting Guide โ Common issues and solutions
๐ก Use Cases
- Local Development โ Keep tabs on your microservices while coding
- Resource Debugging โ Quickly spot which service is consuming CPU/memory
- Status At-a-Glance โ One tray icon shows everything (no browser switching)
- Demo Mode โ Impress colleagues with instant visibility into deployed resources
- Integration Testing โ Monitor health during automated test runs
๐๏ธ Architecture Highlights
- Service-Oriented: Clean separation between Aspire API client, discovery, polling, and UI
- Polling Model: Configurable background thread with exponential backoff on failures
- MVVM Pattern: Fully testable business logic, UI-agnostic services
- State Machine: Discrete states (Idle โ Discovering โ Connected โ Polling โ Error โ Reconnecting)
- Threshold-Based Alerts: Configurable CPU/memory thresholds determine status colors
- Single Tray Icon: Unified monitoring interfaceโno confusion from multiple icons
See Architecture Guide for detailed design decisions and data flows.
๐ฆ Installation & Updates
Download
Download the latest release from GitHub Releases:
- Go to Releases
- Download
ElBruno.AspireMonitor-v1.0.0.zip - Extract to a folder (e.g.,
C:\Tools\AspireMonitor) - Run
ElBruno.AspireMonitor.exe
Update
Download the latest version and replace the existing files.
Uninstall
Simply delete the folder containing the application.
Verify Version
Right-click ElBruno.AspireMonitor.exe โ Properties โ Details tab
๐ Troubleshooting
Aspire instance not found?
- Verify Aspire is running:
aspire runin your working folder - Check the working folder setting in config:
%APPDATA%\Local\ElBruno\AspireMonitor\config.json - See Troubleshooting Guide for more solutions
Tray icon not visible?
- Check Windows notification area (click โฒ in system tray)
- Verify AspireMonitor is running:
tasklist | findstr aspire - Restart the application and check tray icon placement
- See Troubleshooting Guide
๐ค Contributing
Contributions welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Make changes and write/update tests
- Run full test suite:
dotnet test - Commit with clear messages
- Open a Pull Request
See Development Guide for setup and workflow.
๐ License
MIT License โ See LICENSE file for details.
๐ About the Author
Bruno Capuano @elbruno
Microsoft AI MVP | GitHub Star
- Blog: elbruno.com
- GitHub: @elbruno
- LinkedIn: /in/elbruno
- Twitter: @elbruno
- YouTube: @elbruno
Built with โค๏ธ for the .NET Aspire community
Questions? Open an issue or reach out on GitHub Discussions.
Adoption Assessment
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.