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