Я хочу проверить время выполнения представлений на моем сайте. Это можно сделать с помощью декораторов, но, поскольку у меня есть десятки представлений, я подумал о том, чтобы сделать это в промежуточном программном обеспечении, сохраняя начальное время в словаре с запросом в качестве ключа (см. Ниже), но меня беспокоят сделанные мной предположения. (см. ниже):
class SlowWarningMiddleware:
def __init__(self):
self.time_tracking = {}
def process_view(self, request, view_func, view_args, view_kwargs):
self.time_tracking[request] = time.time()
def process_response(self, request, response):
if request not in self.time_tracking:
return response
delta = time.time() - self.time_tracking[request]
def process_exception(self, request, exception):
if request not in self.time_tracking:
return
delta = time.time() - self.time_tracking[request]
этот код предполагает две точки:
безопасны ли эти предположения? Является ли это промежуточное ПО хорошей идеей?