小编Сыч*_*Сыч的帖子

测量Django中间件中的视图执行时间 - 好主意?

我想检查一下我网站中视图的执行时间.这可以由装饰者完成,但由于我有几十个视图,我想在中间件中进行操作,将请求作为关键字保存在字典中的初始时间(见下文),但我担心我做的假设(见下文):

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]
Run Code Online (Sandbox Code Playgroud)

这段代码假设有两点:

  1. 相同的中间件实例处理前视图和后视图逻辑.
  2. 请求实例保持相同的实例预览和后视图.

这些假设是否安全?这个中间件是个好主意吗?

django middleware

7
推荐指数
1
解决办法
3794
查看次数

标签 统计

django ×1

middleware ×1