Skip to main content
Any Framework

Real-time Windows system tray monitor for .NET Aspire distributed applications. Install as a global tool and launch with `aspiremon`. Monitor health, status, and endpoints of your Aspire resources with color-coded indicators and clickable URLs.

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

Install

dotnet add package ElBruno.AspireMonitor --version 1.3.0

No framework information available.

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. Install as a .NET global tool: dotnet tool install --global ElBruno.AspireMonitor
  2. Launch with aspiremon from any terminal
  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

Install as a .NET Global Tool (recommended):

dotnet tool install --global ElBruno.AspireMonitor

Then launch anytime from any terminal:

aspiremon

The tool is Windows-only (the underlying app is WPF). Requires the .NET 10 Runtime.

Or download the executable from GitHub Releases.

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

Install the global tool and launch it:

dotnet tool install --global ElBruno.AspireMonitor
aspiremon

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

Install

dotnet tool install --global ElBruno.AspireMonitor

Then run aspiremon from any terminal.

Update

dotnet tool update --global ElBruno.AspireMonitor

Uninstall

dotnet tool uninstall --global ElBruno.AspireMonitor

Verify Version

dotnet tool list --global

๐Ÿ› 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.

Changes from Previous Version

v1.2.0v1.3.0
Removed Frameworks
net10.0-windows7.0
Removed Dependencies
Microsoft.Extensions.Http(net10.0-windows7.0)
Polly(net10.0-windows7.0)

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

No target framework metadata is available. Confirm compatibility in a representative project before standardising on this package.

Related Guides & Workflows

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