Skip to main content
net10.0net8.0

Real-time monitoring and visualization dashboard for Microsoft Orleans showing grain statistics, performance metrics, and cluster health.

Published
Jul 21, 2026
3mo ago
Total Downloads
722.7K
722,682

Install

dotnet add package Microsoft.Orleans.Dashboard --version 10.2.2
ProductVersions
.NET
net10.0net8.0

README

Microsoft Orleans Dashboard

Introduction

Microsoft Orleans Dashboard is a web-based monitoring and diagnostics tool for Orleans applications. It provides real-time visualization of grain activations, runtime statistics, silo health, and performance metrics through an intuitive web interface.

Features

  • Real-time Grain Statistics: Monitor active grain counts, call rates, and exception rates
  • Silo Health Monitoring: View silo status, CPU usage, memory consumption, and network activity
  • Performance Metrics: Track method call latencies, throughput, and error rates
  • Grain Method Profiling: Analyze individual grain method performance
  • Reminders Tracking: View scheduled reminders across the cluster
  • Dashboard Customization: Configure authentication, port, and other options

Getting Started

To use this package, install it via NuGet:

dotnet add package Microsoft.Orleans.Dashboard

Example - Adding Dashboard to a Silo

using Orleans.Dashboard;

var builder = WebApplication.CreateBuilder(args);

// Configure Orleans
builder.UseOrleans(siloBuilder =>
{
    siloBuilder.UseLocalhostClustering();
    siloBuilder.UseInMemoryReminderService();
    siloBuilder.AddMemoryGrainStorageAsDefault();

    // Add the dashboard
    siloBuilder.AddDashboard();
});

var app = builder.Build();

// Map dashboard endpoints
app.MapOrleansDashboard();

app.Run();

The dashboard will be accessible at the application's base URL (e.g., http://localhost:5000/).

Example - Adding Dashboard to a Separate Web Application

For scenarios where you want to host the dashboard separately from your silos:

using Orleans.Dashboard;
using System.Net;

var builder = WebApplication.CreateBuilder(args);

// Configure Orleans client
builder.UseOrleansClient(clientBuilder =>
{
    clientBuilder.UseStaticClustering(options =>
        options.Gateways.Add(new IPEndPoint(IPAddress.Loopback, 30000).ToGatewayUri()));

    // Add dashboard services
    clientBuilder.AddDashboard();
});

var app = builder.Build();

// Map dashboard endpoints
app.MapOrleansDashboard();

await app.RunAsync();

Configuration Options

The dashboard can be configured with various options:

siloBuilder.AddDashboard(options =>
{
    options.CounterUpdateIntervalMs = 1000; // Metrics update interval (default: 1000ms)
});

You can customize the route prefix when mapping dashboard endpoints:

// Map dashboard at a custom path
app.MapOrleansDashboard(routePrefix: "/dashboard");

// Add authentication
app.MapOrleansDashboard().RequireAuthorization();

Dashboard URL

Once configured, the dashboard is accessible at:

  • Default: http://localhost:{AppPort}/ (where AppPort is your web application's port)
  • With routePrefix: http://localhost:{AppPort}/{routePrefix}/

Examples

For complete working examples, see the playground projects:

  • playground/DashboardCohosted - Dashboard cohosted with Orleans in a web application
  • playground/DashboardSeparateHost - Dashboard in a separate web application connecting to an Orleans cluster

Documentation

For more comprehensive documentation, please refer to:

Feedback & Contributing

Changes from Previous Version

No structural changes between v10.2.2-rc.2 and v10.2.2.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

Compatibility metadata lists 2 target frameworks; confirm the exact target used by your application.The published metadata declares 28 direct dependency entries across framework groups. Inspect the resolved dependency graph for your target framework.

Related Guides & Workflows

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