https://github.com/ctyar/statusnamaa
Easily integrate a lightweight metrics dashboard into your ASP.NET Core application. This package provides a simple yet effective way to monitor application status, accessible at /statusnamaa.svg.
https://github.com/ctyar/statusnamaa
asp-net-core csharp dahboard dotnet metrics monitoring
Last synced: 3 months ago
JSON representation
Easily integrate a lightweight metrics dashboard into your ASP.NET Core application. This package provides a simple yet effective way to monitor application status, accessible at /statusnamaa.svg.
- Host: GitHub
- URL: https://github.com/ctyar/statusnamaa
- Owner: ctyar
- License: mit
- Created: 2025-05-25T11:00:15.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-10-06T19:48:26.000Z (9 months ago)
- Last Synced: 2025-10-06T21:27:05.160Z (9 months ago)
- Topics: asp-net-core, csharp, dahboard, dotnet, metrics, monitoring
- Language: C#
- Homepage:
- Size: 426 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# StatusNamaa
[](https://ctyar.visualstudio.com/StatusNamaa/_build/latest?definitionId=14&branchName=main)
[](https://www.nuget.org/packages/StatusNamaa/)
Easily integrate a lightweight metrics dashboard into your ASP.NET Core application. This package provides a simple yet effective way to monitor application status, accessible at `/statusnamaa.svg`.

## Usage
1. In your `Program.cs` file Add `app.AddStatusNamaa()` and `app.MapStatusNamaa()`:
```diff
+ builder.Services.AddStatusNamaa();
var app = builder.Build();
+ app.MapStatusNamaa();
```
2. Add an image tag with `statusnamaa.svg` src in your HTML:
```html
```
## Features
### Customizing metrics
You can configure which metrics appear on the status page using `StatusNamaaOptions`:
```csharp
builder.Services.AddStatusNamaa(o =>
{
// Clear default metrics
o.Metrics.Clear();
// Add a .NET built-in metric
o.AddMetric("dotnet.exceptions");
// Add a .NET built-in metric with custom display name and type
o.Metrics.Add(new StatusNamaaMetric
{
Name = "dotnet.process.memory.working_set",
DisplayName = "Working Set",
Type = StatusNamaaValueType.Bytes,
});
// Add a custom value
o.AddMetric("Custom Value", async services =>
{
var listenerService = services.GetRequiredService();
return await listenerService.GetValue();
});
});
```
### Authentication
You can secure the status page by chaining `RequireAuthorization()` to the result of `MapStatusNamaa()`:
```csharp
app.MapStatusNamaa()
.RequireAuthorization();
```
### Metrics
### Caching
You can cache the status page to reduce load on your application by adding `CacheOutput()` to the result of `MapStatusNamaa()`:
```csharp
app.MapStatusNamaa()
.CacheOutput(options =>
{
options.Expire(TimeSpan.FromSeconds(10));
});
```
More information about caching can be found in the [Output caching](https://learn.microsoft.com/en-us/aspnet/core/performance/caching/output) docs.
## Pre-release builds
Get the package from [here](https://github.com/ctyar/StatusNamaa/pkgs/nuget/StatusNamaa).
## Build
[Install](https://get.dot.net) the [required](global.json) .NET SDK and run:
```
$ dotnet build
```