python - 计算Python的Flask中每个页面的执行时间

标签 python flask

使用 Python 的 Flask 库计算每个页面加载的执行时间的好方法是什么?

我正在考虑在 views/__ init__.py 中放置一个开始计时器:

@app.before_request
def before_request():
  g.start = time.time()

但是我应该把计时器的结束部分放在哪里来计算差值,以及如何将它放入我的 html 模板的页脚中?

谢谢。

最佳答案

其他答案基本上是正确的,但现在已经过时了。

以下适用于 Python 3.6/3.7 和 Flask 1.0.2:

import time
from flask import g

@app.before_request
def before_request():
    g.start = time.time()

@app.after_request
def after_request(response):
    diff = time.time() - g.start
    if ((response.response) and
        (200 <= response.status_code < 300) and
        (response.content_type.startswith('text/html'))):
        response.set_data(response.get_data().replace(
            b'__EXECUTION_TIME__', bytes(str(diff), 'utf-8')))
    return response

通过使用 response.set_data,内容长度将由 Flask 正确更新。另请注意字节串的使用和编码。

关于python - 计算Python的Flask中每个页面的执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12273889/

相关文章:

python - 如何导入和猴子修补与测试位于不同包中的 Python 模块?

python - 多元 LSTM 股票预测

python - 计算字典中的单词数(Python)

python - 错误 : 1318 Incorrect number of arguments for PROCEDURE | Flask

javascript - 如何让 Flask 滚动到页面的一部分?

python - Flask View 的类型注释是什么?

python - 重复推理后模型推理运行时间增加

python - Python中Bit-wise NOT的含义

python - 使用 PythonAnywhere 作为游戏服务器

python - 告诉 Flask-Migrate/Alembic 不要删除任何它不知道的表