diff --git a/Prometheus.AspNetCore/HttpMetrics/HttpMiddlewareExporterOptions.cs b/Prometheus.AspNetCore/HttpMetrics/HttpMiddlewareExporterOptions.cs index 99dec2ce..dd87649f 100644 --- a/Prometheus.AspNetCore/HttpMetrics/HttpMiddlewareExporterOptions.cs +++ b/Prometheus.AspNetCore/HttpMetrics/HttpMiddlewareExporterOptions.cs @@ -10,11 +10,16 @@ public sealed class HttpMiddlewareExporterOptions public HttpRequestDurationOptions RequestDuration { get; set; } = new HttpRequestDurationOptions(); /// - /// Whether to capture metrics for queries to the /metrics endpoint (where metrics are exported by default). Defaults to false. - /// This matches against URLs starting with the /metrics string specifically - if you use a custom metrics endpoint, this will not match. + /// Whether to capture metrics for queries to the MetricsUrl endpoint. Defaults to false. /// public bool CaptureMetricsUrl { get; set; } + /// + /// The Url used for the CaptureMetricsUrl property. + /// This defaults to /metrics where metrics are exported by default + /// + public string MetricsUrl { get; set; } = "/metrics"; + /// /// Configures all the different types of metrics to use reduced status code cardinality (using 2xx instead of 200, 201 etc). /// diff --git a/Prometheus.AspNetCore/HttpMetricsMiddlewareExtensions.cs b/Prometheus.AspNetCore/HttpMetricsMiddlewareExtensions.cs index 88d7c195..fc8014c0 100644 --- a/Prometheus.AspNetCore/HttpMetricsMiddlewareExtensions.cs +++ b/Prometheus.AspNetCore/HttpMetricsMiddlewareExtensions.cs @@ -62,7 +62,7 @@ void ApplyConfiguration(IApplicationBuilder builder) if (options.CaptureMetricsUrl) ApplyConfiguration(app); else - app.UseWhen(context => context.Request.Path != "/metrics", ApplyConfiguration); + app.UseWhen(context => context.Request.Path != options.MetricsUrl, ApplyConfiguration); return app; }