Skip to content

KresoJ/prometheus-net-contrib

 
 

Repository files navigation

prometheus-net-contrib

Build status Nuget

A plugin for the prometheus-net package, exposing event counters and diagnostic listeners for .NET Core Runtime, ASP.NET Core, SignalR, GRPC, etc.

Installation

Supports .NET core v3.0+ only.

Add the package from nuget:

dotnet add package prometheus-net.Contrib

And then start the collectors:

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        ...
        services.AddPrometheusCounters();
        services.AddPrometheusAspNetCoreMetrics();
        services.AddPrometheusHttpClientMetrics();
        services.AddPrometheusSqlClientMetrics();
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        app.UseEndpoints(endpoints =>
        {
            ...
            endpoints.MapMetrics();
        });
    }
}

.NET Core 3.0 Event Counters

Runtime

Name Type Description
runtime_counters_cpu_usage Gauge CPU usage in percents
runtime_counters_memory_working_set Gauge Working Set in megabytes
runtime_counters_gc_heap_size Gauge GC Heap Size in megabytes
runtime_counters_gc_count Gauge GC Count
runtime_counters_exception_count Gauge Exception Count
runtime_counters_threadpool_thread_count Gauge ThreadPool Thread Count
runtime_counters_threadpool_queue_length Gauge Monitor Lock Contention Count
runtime_counters_threadpool_completed_items_count Gauge ThreadPool Queue Length
runtime_counters_time_in_gc Gauge ThreadPool Completed Work Item Count
runtime_counters_gc_size Gauge GC size in bytes
runtime_counters_alloc_rate Gauge Allocation Rate in bytes
runtime_counters_assembly_count Gauge Number of Assemblies Loaded
runtime_counters_active_timer_count Gauge Number of Active Timers

ASP .NET Core

Name Type Description
aspnetcore_counters_requests_per_second Gauge Request Rate
aspnetcore_counters_total_requests Gauge Total Requests
aspnetcore_counters_current_requests Gauge Current Requests
aspnetcore_counters_failed_requests Gauge Failed Requests

ASP .NET Core SignalR

Name Type Description
signalr_counters_connections_started Gauge Total Connections Started
signalr_counters_connections_stopped Gauge Total Connections Stopped
signalr_counters_connections_timed_out Gauge Total Connections Timed Out
signalr_counters_current_connections Gauge Current Connections
signalr_counters_connections_duration Gauge Average Connection Duration

ASP .NET Core GRPC Server

Name Type Description
grpc_server_counters_total_calls Gauge Total Calls
grpc_server_counters_current_calls Gauge Current Calls
grpc_server_counters_calls_failed Gauge Total Calls Failed
grpc_server_counters_calls_deadline_exceeded Gauge Total Calls Deadline Exceeded
grpc_server_counters_messages_sent Gauge Total Messages Sent
grpc_server_counters_messages_received Gauge Total Messages Received
grpc_server_counters_calls_unimplemented Gauge Total Calls Unimplemented

ASP .NET Core GRPC Client

Name Type Description
grpc_client_counters_total_calls Gauge Total Calls
grpc_client_counters_current_calls Gauge Current Calls
grpc_client_counters_calls_failed Gauge Total Calls Failed
grpc_client_counters_calls_deadline_exceeded Gauge Total Calls Deadline Exceeded
grpc_client_counters_messages_sent Gauge Total Messages Sent
grpc_client_counters_messages_received Gauge Total Messages Received

.NET Core Diagnostic Listeners

ASP .NET Core

Name Type Description
aspnetcore_request_duration_seconds Histogram The duration of HTTP requests processed by an ASP.NET Core application
aspnetcore_request_errors Counter Total HTTP requests received errors

HTTP Client

Name Type Description
httpclient_requests_duration_seconds Histogram Time between first byte of request headers sent to last byte of response received
httpclient_requests_errors Counter Total HTTP requests sent errors

SQL Client

Name Type Description
sqlclient_commands_duration_seconds Histogram The duration of DB requests processed by an application
sqlclient_commands_errors Counter Total DB requests errors
sqlclient_connections_total Counter Total DB connections
sqlclient_connections_errors Counter Total DB connections errors
sqlclient_transactions_committed_total Counter Total committed transactions
sqlclient_transactions_rollback_total Counter Total HTTP requests sent errors
sqlclient_received_buffers Gauge Returns the number of tabular data stream (TDS) packets received by the provider from SQL Server
sqlclient_sent_buffers Gauge Returns the number of TDS packets sent to SQL Server
sqlclient_received_bytes Gauge Returns the number of bytes of data in the TDS packets received by the provider from SQL Server
sqlclient_sent_bytes Gauge Returns the number of bytes of data sent to SQL Server in TDS packets
sqlclient_connection_time Gauge The amount of time (in milliseconds) that the connection has been opened
sqlclient_cursor_open Gauge Returns the number of times a cursor was open through the connection
sqlclient_execution_time Gauge
sqlclient_idu_count Gauge Returns the total number of INSERT, DELETE, and UPDATE statements executed through the connection
sqlclient_idu_rows Gauge Returns the total number of rows affected by INSERT, DELETE, and UPDATE statements executed through the connection
sqlclient_network_server_time Gauge Returns the cumulative amount of time (in milliseconds) that the provider spent waiting for replies from the server
sqlclient_prepared_exec Gauge Returns the number of prepared commands executed through the connection
sqlclient_prepares Gauge Returns the number of statements prepared through the connection
sqlclient_select_count Gauge Returns the number of SELECT statements executed through the connection
sqlclient_select_rows Gauge Returns the number of rows selected
sqlclient_server_roundtrips Gauge Returns the number of times the connection sent commands to the server and got a reply back
sqlclient_sum_result_sets Gauge Returns the number of result sets
sqlclient_transacions Gauge Returns the number of user transactions
sqlclient_unprepared_exec Gauge Returns the number of unprepared statements executed through the connection

About

Exposes .NET core diagnostic listeners and counters

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%