Verified Commit afd25c24 authored by Kevin Morris's avatar Kevin Morris
Browse files

fix: remove HEAD and OPTIONS handling from metrics


Signed-off-by: Kevin Morris's avatarKevin Morris <kevr@0cost.org>
parent 790ca419
Pipeline #16541 passed with stages
in 2 minutes and 49 seconds
...@@ -60,6 +60,9 @@ def http_requests_total() -> Callable[[Info], None]: ...@@ -60,6 +60,9 @@ def http_requests_total() -> Callable[[Info], None]:
labelnames=("method", "path", "status")) labelnames=("method", "path", "status"))
def instrumentation(info: Info) -> None: def instrumentation(info: Info) -> None:
if info.request.method.lower() in ("head", "options"): # pragma: no cover
return
scope = info.request.scope scope = info.request.scope
# Taken from https://github.com/stephenhillier/starlette_exporter # Taken from https://github.com/stephenhillier/starlette_exporter
...@@ -70,8 +73,8 @@ def http_requests_total() -> Callable[[Info], None]: ...@@ -70,8 +73,8 @@ def http_requests_total() -> Callable[[Info], None]:
if not (scope.get("endpoint", None) and scope.get("router", None)): if not (scope.get("endpoint", None) and scope.get("router", None)):
return None return None
root_path = scope.get("root_path", "") root_path = scope.get("root_path", str())
app = scope.get("app", {}) app = scope.get("app", dict())
if hasattr(app, "root_path"): if hasattr(app, "root_path"):
app_root_path = getattr(app, "root_path") app_root_path = getattr(app, "root_path")
...@@ -102,6 +105,9 @@ def http_api_requests_total() -> Callable[[Info], None]: ...@@ -102,6 +105,9 @@ def http_api_requests_total() -> Callable[[Info], None]:
labelnames=("type", "status")) labelnames=("type", "status"))
def instrumentation(info: Info) -> None: def instrumentation(info: Info) -> None:
if info.request.method.lower() in ("head", "options"): # pragma: no cover
return
if info.request.url.path.rstrip("/") == "/rpc": if info.request.url.path.rstrip("/") == "/rpc":
type = info.request.query_params.get("type", "None") type = info.request.query_params.get("type", "None")
if info.response: if info.response:
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment