TheNerdCollective.Blazor.Observability
1.2.1
dotnet add package TheNerdCollective.Blazor.Observability --version 1.2.1
NuGet\Install-Package TheNerdCollective.Blazor.Observability -Version 1.2.1
<PackageReference Include="TheNerdCollective.Blazor.Observability" Version="1.2.1" />
<PackageVersion Include="TheNerdCollective.Blazor.Observability" Version="1.2.1" />
<PackageReference Include="TheNerdCollective.Blazor.Observability" />
paket add TheNerdCollective.Blazor.Observability --version 1.2.1
#r "nuget: TheNerdCollective.Blazor.Observability, 1.2.1"
#:package TheNerdCollective.Blazor.Observability@1.2.1
#addin nuget:?package=TheNerdCollective.Blazor.Observability&version=1.2.1
#tool nuget:?package=TheNerdCollective.Blazor.Observability&version=1.2.1
TheNerdCollective.Blazor.Observability
Backend-agnostic observability dashboard services for Blazor Server apps instrumented with OpenTelemetry.
Pairs with:
TheNerdCollective.Blazor.Observability.SigNoz— SigNoz adapter (v1)TheNerdCollective.MudComponents.ObservabilityDashboard— MudBlazor 9.7 UI
Features
IObservabilityBackend— swap query backends without changing UIIObservabilityDashboardService— overview snapshots and preset panels- Minimal API —
/api/observability/*for dashboard data - Server-side only — API tokens never sent to the browser
Installation
dotnet add package TheNerdCollective.Blazor.Observability
dotnet add package TheNerdCollective.Blazor.Observability.SigNoz # SigNoz backend
dotnet add package TheNerdCollective.MudComponents.ObservabilityDashboard # optional UI
Quick start
using TheNerdCollective.Blazor.Observability;
using TheNerdCollective.Blazor.Observability.SigNoz;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddObservabilityDashboardWithSigNoz(builder.Configuration);
var app = builder.Build();
app.MapObservabilityDashboardEndpoints()
.RequireAuthorization(); // host must restrict ops APIs
app.Run();
Configuration
{
"NerdObservability": {
"DefaultServiceName": "my-app",
"DefaultLookbackMinutes": 15,
"ExternalDashboardBaseUrl": "https://devops.example.com",
"SigNoz": {
"BaseUrl": "http://127.0.0.1:8080",
"ApiToken": "your-editor-api-key"
}
}
}
API routes
| Route | Description |
|---|---|
GET /api/observability/overview?service= |
Scalar overview snapshot |
GET /api/observability/panel/{panelId}?service=&minutes= |
Time series for preset panel |
GET /api/observability/services?minutes= |
Service list |
GET /api/observability/health?service=&minutes= |
Coarse health summary |
Preset panels
Panel IDs are backend-neutral (ObservabilityPanelId). Each adapter maps them to backend-specific queries — SigNoz uses span metrics aligned with Nerd Consent consent-host-overview.json.
Backend extensibility (SigNoz vs Grafana)
| Layer | Package | Role |
|---|---|---|
| Instrumentation | Host app (OpenTelemetry.*) |
Export traces/metrics via OTLP |
| Query adapter | Blazor.Observability.SigNoz, future *.Grafana |
Implement IObservabilityBackend |
| Dashboard | Blazor.Observability + MudComponents |
Backend-agnostic UI |
OpenTelemetry does not automatically connect this dashboard to Grafana. OTel exports data; each backend adapter queries it back via that backend's HTTP API.
Register adapters explicitly:
builder.Services.AddObservabilityDashboard(configuration);
builder.Services.AddSigNozObservabilityBackend(configuration);
// future: builder.Services.AddGrafanaObservabilityBackend(configuration);
Security
- Keep backend API tokens in server configuration/secrets only
- Protect minimal API routes with your admin authorization policy
- This package queries aggregates — no trace payloads or PII
Related
- Observability Dashboard plan
- SessionMonitor — complementary Blazor circuit monitoring
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on TheNerdCollective.Blazor.Observability:
| Package | Downloads |
|---|---|
|
TheNerdCollective.Blazor.Observability.SigNoz
SigNoz query adapter for TheNerdCollective.Blazor.Observability. Maps preset panels to SigNoz v4 APIs. |
|
|
TheNerdCollective.MudComponents.ObservabilityDashboard
MudBlazor 9.7 observability dashboard components for Blazor Server ops overviews. Requires TheNerdCollective.Blazor.Observability. |
GitHub repositories
This package is not used by any popular GitHub repositories.