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); }