From eaff4c5ba93bff0ef632212e7ec342dde809e678 Mon Sep 17 00:00:00 2001 From: Stanislav Novosad Date: Thu, 8 Jan 2026 19:58:07 -0700 Subject: [PATCH] Log duration_seconds in api.raw_request (#4421) --- skyvern/forge/request_logging.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/skyvern/forge/request_logging.py b/skyvern/forge/request_logging.py index 8ee52d19..723d627c 100644 --- a/skyvern/forge/request_logging.py +++ b/skyvern/forge/request_logging.py @@ -1,5 +1,6 @@ from __future__ import annotations +import time import typing import structlog @@ -69,6 +70,7 @@ async def log_raw_request_middleware(request: Request, call_next: Callable[[Requ if not settings.LOG_RAW_API_REQUESTS: return await call_next(request) + start_time = time.monotonic() body_bytes = await request.body() # ensure downstream handlers can access body again try: @@ -102,6 +104,7 @@ async def log_raw_request_middleware(request: Request, call_next: Callable[[Requ body=body_text, headers=sanitized_headers, error_body=error_body, + duration_seconds=time.monotonic() - start_time, ) return response except Exception: @@ -112,5 +115,6 @@ async def log_raw_request_middleware(request: Request, call_next: Callable[[Requ body=body_text, headers=sanitized_headers, exc_info=True, + duration_seconds=time.monotonic() - start_time, ) raise