服务器计时插件
此插件支持使用服务器计时 API 审计性能瓶颈
安装命令:
bash
bun add @elysiajs/server-timing
然后使用它:
typescript
import { Elysia } from 'elysia'
import { serverTiming } from '@elysiajs/server-timing'
new Elysia()
.use(serverTiming())
.get('/', () => 'hello')
.listen(3000)
服务器计时将为每个生命周期函数附加 'Server-Timing' 头,记录持续时间、函数名称和详细信息。
要检查,请打开浏览器开发者工具 > 网络 > [通过 Elysia 服务器发出的请求] > 计时。
现在您可以轻松审计服务器的性能瓶颈。
配置
以下是插件接受的配置
enabled
@default NODE_ENV !== 'production'
确定是否启用服务器计时
allow
@default undefined
判断是否记录服务器计时的条件
trace
@default undefined
允许服务器计时记录指定的生命周期事件:
Trace 接受以下对象:
- request:记录请求的持续时间
- parse:记录解析的持续时间
- transform:记录转换的持续时间
- beforeHandle:记录处理前的持续时间
- handle:记录处理的持续时间
- afterHandle:记录处理后的持续时间
- total:记录从开始到结束的总持续时间
模式
以下是使用插件的常见模式。
允许条件
您可以通过 allow
属性在特定路由上禁用服务器计时
ts
import { Elysia } from 'elysia'
import { serverTiming } from '@elysiajs/server-timing'
new Elysia()
.use(
serverTiming({
allow: ({ request }) => {
return new URL(request.url).pathname !== '/no-trace'
}
})
)