INNER CODE UNIT · Python
requests_in_progress
stephenhillier/starlette_exporter · starlette_exporter/middleware.py:306
def requests_in_progress(self):
metric_name = f"{self.prefix}_requests_in_progress"
if metric_name not in PrometheusMiddleware._metrics:
PrometheusMiddleware._metrics[metric_name] = Gauge(
metric_name,
"Total HTTP requests currently in progress",
("method", "app_name", *self.request_labels.keys()),
multiprocess_mode="livesum",
)
return PrometheusMiddleware._metrics[metric_name]
async def _request_label_values(self, request: Request) -> List[str]:
values: List[str] = []
for k, v in self.request_labels.items():
if callable(v):
parsed_value = ""
# if provided a callable, try to use it on the request.