Ejemplo n.º 1
0
        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;
                }
            });
        }
Ejemplo n.º 2
0
        public static void EnablePrometheusMonitoring(this IApplicationBuilder app,
                                                      IPrometheusMonitoringConfiguration prometheusMonitoringConfiguration)
        {
            if (!prometheusMonitoringConfiguration.Enabled)
            {
                return;
            }

            app.UseMetricServer(prometheusMonitoringConfiguration.Path);
        }
Ejemplo n.º 3
0
 public PrometheusExtension(IApplicationBuilder applicationBuilder,
                            IPrometheusMonitoringConfiguration prometheusMonitoringConfiguration)
 {
     _prometheusMonitoringConfiguration = prometheusMonitoringConfiguration;
     _applicationBuilder = applicationBuilder;
 }
Ejemplo n.º 4
0
 public PrometheusModule(IPrometheusMonitoringConfiguration prometheusMonitoringConfiguration)
 {
     _prometheusMonitoringConfiguration = prometheusMonitoringConfiguration;
 }