Exemple #1
0
        public static IServiceCollection AddPrometheusEndpoint(this IServiceCollection services, Func <IMetricsBuilder, IMetricsBuilder>?additional = null)
        {
            var metricsBuilder = new MetricsBuilder()
                                 .Configuration.Configure(options => options
                                                          .AddMachineNameTag()
                                                          .AddRuntimeTag()
                                                          .AddServerTag()
                                                          .AddGitTag())

                                 .OutputMetrics.AsPrometheusPlainText();

            metricsBuilder = additional?.Invoke(metricsBuilder) ?? metricsBuilder;
            services.AddMetrics(metricsBuilder);

            services.AddMetricsReportingHostedService();

            return(services);
        }