From 4dc9590ea1a65a507c74731720924ffc72310808 Mon Sep 17 00:00:00 2001 From: Steve Hillier Date: Mon, 27 May 2024 22:00:49 -0700 Subject: [PATCH] evaluate labels after path is set --- starlette_exporter/middleware.py | 18 +++++++++--------- tests/test_middleware.py | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/starlette_exporter/middleware.py b/starlette_exporter/middleware.py index b6aa593..8beebb4 100644 --- a/starlette_exporter/middleware.py +++ b/starlette_exporter/middleware.py @@ -407,15 +407,6 @@ async def wrapped_send(message: Message) -> None: else: status_code = 500 - labels = [ - method, - path, - status_code, - self.app_name, - *request_labels, - *response_labels, - ] - if self.filter_unhandled_paths or self.group_paths: grouped_path: Optional[str] = None @@ -438,6 +429,15 @@ async def wrapped_send(message: Message) -> None: if self.group_paths and grouped_path is not None: path = grouped_path + labels = [ + method, + path, + status_code, + self.app_name, + *request_labels, + *response_labels, + ] + # optional extra arguments to be passed as kwargs to observations # note: only used for histogram observations and counters to support exemplars extra = {} diff --git a/tests/test_middleware.py b/tests/test_middleware.py index 012d3c0..eee6568 100644 --- a/tests/test_middleware.py +++ b/tests/test_middleware.py @@ -303,7 +303,7 @@ def test_mounted_path_404(self, testapp): def test_mounted_path_404_filter(self, testapp): """test an unhandled path from mounted base path can be excluded from metrics""" - client = TestClient(testapp(filter_unhandled_paths=True)) + client = TestClient(testapp()) client.get("/mounted/404") metrics = client.get("/metrics").content.decode()