RouterMonitoring.Core 1.0.3

dotnet add package RouterMonitoring.Core --version 1.0.3
                    
NuGet\Install-Package RouterMonitoring.Core -Version 1.0.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="RouterMonitoring.Core" Version="1.0.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="RouterMonitoring.Core" Version="1.0.3" />
                    
Directory.Packages.props
<PackageReference Include="RouterMonitoring.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add RouterMonitoring.Core --version 1.0.3
                    
#r "nuget: RouterMonitoring.Core, 1.0.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package RouterMonitoring.Core@1.0.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=RouterMonitoring.Core&version=1.0.3
                    
Install as a Cake Addin
#tool nuget:?package=RouterMonitoring.Core&version=1.0.3
                    
Install as a Cake Tool

RouterMonitoring.Core 🚀

.NET Core License NuGet Version

RouterMonitoring.Core es un dashboard ultraligero, inyectable y sin dependencias pesadas diseñado para monitorear rutas, latencias, payloads y recursos del sistema (CPU, Memoria, Hilos) en tiempo real en aplicaciones ASP.NET Core.

Ideal para entornos de desarrollo y diagnóstico rápido en producción sin necesidad de configurar stacks de telemetría complejos ni iniciar sesión en plataformas externas.


✨ Características

  • ⚡ Cero configuración pesada: Middleware e inyección de servicios listos en un par de líneas de código.
  • 💻 Monitoreo de Recursos del Sistema: Telemetría en segundo plano para el uso de CPU (%), consumo de memoria del proceso (Working Set RAM), memoria del Garbage Collector y Hilos activos.
  • 📊 Métricas de Rutas en Tiempo Real: Visualización de rutas descubiertas por el framework, métodos HTTP, total de peticiones, último status code y latencias promedio en milisegundos.
  • 🎨 Dashboard Personalizable: Usa el dashboard Dark Mode integrado o inyecta tu propio index.html (o Recurso Embebido) para adaptar la interfaz a tu gusto.
  • 📦 Captura opcional de Payloads: Registra el cuerpo (body) de peticiones POST, PUT y PATCH.
  • 📱 Información de Dispositivos: Identifica el User-Agent de los clientes que consumen tu API.
  • 🌐 Soporte Multi-idioma (i18n): Interfaz traducida dinámicamente en inglés (en), español (es) y portugués (pt).
  • ⬇️ Exportación de Auditoría JSON: Descarga directa de logs recientes para análisis rápido ante fallas.

📦 Instalación

Instala el paquete a través de la CLI de .NET:

dotnet add package RouterMonitoring.Core


🚀 Inicio Rápido

using RouterMonitoring.Core;

var builder = WebApplication.CreateBuilder(args);

// 1. Registrar los servicios de monitoreo de rutas y recursos del sistema
builder.Services.AddRouterMonitoring();

var app = builder.Build();

// 2. Activar el Middleware del Dashboard con configuración fluida
app.UseRouterMonitoring("/router-monitoring")
   .ShowPayload(true)
   .ShowDevicesInfo(true)
   .ConfigDJSON(100)
   .Languages("es");

app.Run();

Accede a tu dashboard desde el navegador navegando a:

http://localhost:5000/router-monitoring


🎨 Personalización del Dashboard (Custom UI)

Si prefieres construir tu propia interfaz web o adaptar los estilos existentes, puedes inyectar tu propio HTML o un recurso embebido utilizando la interfaz fluida:

Opción A: Usar un HTML personalizado desde un string o archivo

var customHtml = File.ReadAllText("wwwroot/my-custom-dashboard.html");

app.UseRouterMonitoring("/router-monitoring")
   .ShowPayload(true)
   .UseCustomHtml(customHtml);

Opción B: Usar un Recurso Embebido de tu proyecto

app.UseRouterMonitoring("/router-monitoring")
   .ShowPayload(true)
   .UseCustomIndexResource("MiProyecto.UI.custom-dashboard.html");


🔌 API de Datos (JSON)

Cualquier dashboard personalizado que desarrolles puede consumir la API pública interna que expone el middleware en {RoutePrefix}/api/data.

Estructura de la respuesta (GET /router-monitoring/api/data):

{
  "language": "es",
  "routes": [
    {
      "path": "/api/products",
      "httpMethod": "GET",
      "totalRequests": 45,
      "lastStatus": 200,
      "avgDurationMs": 12.34,
      "lastPayload": null,
      "lastUserAgent": "Mozilla/5.0..."
    }
  ],
  "system": {
    "latest": {
      "cpuUsagePercentage": 3.5,
      "memoryUsageMb": 128.4,
      "totalMemoryMb": 32.1,
      "activeThreads": 16,
      "timestamp": "2026-09-26T22:00:00Z"
    },
    "history": [ ... ]
  }
}


📄 Licencia

Este proyecto está bajo la Licencia MIT.


Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.3 53 9/26/2026
1.0.2 95 9/20/2026
1.0.1 96 9/19/2026
1.0.0 98 9/12/2026