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