Я хочу проверить время выполнения просмотров на моем сайте.Это может быть сделано декораторами, но, поскольку у меня есть десятки представлений, я подумал сделать это в промежуточном программном обеспечении, сохранив начальное время в словаре с запросом в качестве ключа (см. Ниже), но я беспокоюсь о сделанных мною предположениях(см. ниже):
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]
этот код предполагает две точки:
- Один и тот же экземпляр промежуточного программного обеспечения обрабатывает логику предварительного просмотра и последующего просмотра.
- Экземпляр запроса остается прежним до и после просмотра.
безопасны ли эти предположения?это промежуточное ПО - хорошая идея?