public static void EnablePrometheusMonitoring(this IRouter router, IPrometheusMonitoringConfiguration prometheusMonitoringConfiguration) { if (!prometheusMonitoringConfiguration.Enabled) { return; } router.Use(async(context, next) => { try { GetCounter(GetMetricName(context, "count")).Inc(); var pending = GetGauge(GetMetricName(context, "pending")); pending.Inc(); await next(context); pending.Dec(); GetCounter(GetMetricName(context, context.Response.StatusCode + "_count")).Inc(); } catch (Exception) { GetCounter(GetMetricName(context, "error_count")).Inc(); throw; } }); }
public static void EnablePrometheusMonitoring(this IApplicationBuilder app, IPrometheusMonitoringConfiguration prometheusMonitoringConfiguration) { if (!prometheusMonitoringConfiguration.Enabled) { return; } app.UseMetricServer(prometheusMonitoringConfiguration.Path); }
public PrometheusExtension(IApplicationBuilder applicationBuilder, IPrometheusMonitoringConfiguration prometheusMonitoringConfiguration) { _prometheusMonitoringConfiguration = prometheusMonitoringConfiguration; _applicationBuilder = applicationBuilder; }
public PrometheusModule(IPrometheusMonitoringConfiguration prometheusMonitoringConfiguration) { _prometheusMonitoringConfiguration = prometheusMonitoringConfiguration; }