Add debug middleware
This commit is contained in:
parent
58908bc5c6
commit
fe2b91e619
|
|
@ -201,6 +201,7 @@ MIDDLEWARE = [
|
|||
"vbv_lernwelt.core.middleware.security.SecurityRequestResponseLoggingMiddleware",
|
||||
"wagtail.contrib.redirects.middleware.RedirectMiddleware",
|
||||
"vbv_lernwelt.core.middleware.auth.UserLoggedInCookieMiddleWare",
|
||||
# "vbv_lernwelt.debugtools.middleware.QueryCountDebugMiddleware",
|
||||
]
|
||||
|
||||
# STATIC
|
||||
|
|
|
|||
|
|
@ -0,0 +1,38 @@
|
|||
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
|
||||
Loading…
Reference in New Issue