Skip to main content
net10.0-windows7.0

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.

Published
Apr 27, 2026
5mo ago
Total Downloads
1.7K
1,736

Install

dotnet add package ElBruno.AspireMonitor --version 1.2.0
ProductVersions
.NET
net10.0-windows7.0

README

ElBruno.AspireMonitor

NuGet Downloads Build Status .NET License: MIT

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:

  1. Set a working folder โ€” Point the app to your Aspire AppHost project directory
  2. Auto-discover & monitor โ€” When aspire run is 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

  1. Download from GitHub Releases
  2. Run ElBruno.AspireMonitor.exe
  3. Set working folder when prompted (point to your Aspire AppHost directory)
  4. Start monitoring โ€” Run aspire run from 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

๐Ÿ’ก 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:

  1. Go to Releases
  2. Download ElBruno.AspireMonitor-v1.0.0.zip
  3. Extract to a folder (e.g., C:\Tools\AspireMonitor)
  4. 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?

  1. Verify Aspire is running: aspire run in your working folder
  2. Check the working folder setting in config: %APPDATA%\Local\ElBruno\AspireMonitor\config.json
  3. 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:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/my-feature)
  3. Make changes and write/update tests
  4. Run full test suite: dotnet test
  5. Commit with clear messages
  6. 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


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.

Compatibility metadata lists 1 target framework; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.