import time import structlog from django.db import connection, reset_queries logger = structlog.get_logger(__name__) class QueryCountDebugMiddleware: def __init__(self, get_response): self.get_response = get_response def __call__(self, request): if not request.path.startswith("/api/") and not request.path.startswith( "/server/" ): return self.get_response(request) reset_queries() start_queries = len(connection.queries) start_time = time.time() response = self.get_response(request) end_queries = len(connection.queries) end_time = time.time() total_queries = end_queries - start_queries duration = end_time - start_time logger.debug( "query_count_middleware", request_path=request.path, queries=total_queries, duration=duration, ) return response