datasette-total-page-time 作者 simonw

星标

README 源代码

datasette-total-page-time

PyPI Changelog Tests License

在 Datasette 页脚添加一个测量总页面加载时间的说明

安装

在与 Datasette 相同的环境中安装此插件。

datasette install datasette-total-page-time

用法

安装此插件后,每页的页脚都会显示一个说明,显示页面生成所需的时间。

查询耗时 326.74ms · 页面耗时 386.310ms

工作原理

测量页面加载所需的时间然后将该说明注入到页面中是很棘手的,因为您需要在知道加载所需时间之前完成页面生成!

此插件使用 asgi_wrapper 插件钩子来测量 Datasette 耗费的时间,然后将以下 JavaScript 注入到响应底部,在结束的 标签之后,并带有正确的测量值

">
<script>
let footer = document.querySelector("footer");
if (footer) {
    let ms = 37.224;
    let s = ` · Page took ${ms.toFixed(3)}ms`;
    footer.innerHTML += s;
}
script>

此脚本仅注入到内容类型为 text/html 的页面中 - 因此它不会影响 Datasette 返回的 JSON 或 CSV。

开发

要在本地设置此插件,首先检出代码。然后创建一个新的虚拟环境

cd datasette-total-page-time
python3 -mvenv venv
source venv/bin/activate

现在安装依赖项和测试依赖项

pip install -e '.[test]'

运行测试

pytest