指标事件
指标事件是由 Monitors 分发,类型为 timing 或 counter 的事件。
内置事件
当项目开启 SSR 时,我们需要关注 Server 端各阶段耗时,并且有能力对 Server 端的问题进行定位。
基于服务端运行逻辑,Modern.js 在内部提供了以下指标事件:
Modern.js 服务端流程如图所示:

内置 Monitor
在 Modern.js 中,指标事件也由 LoggerMonitor 处理,它会将指标按照一定格式输出到控制台。
Info
内置的 LoggerMonitor 依赖了 rslog 库。
在 Modern.js 中初始化的 rslog 实例默认在开发环境下会输出 debug 级别及以上的日志,在生产环境下会输出所有日志。而在内置的 LoggerMonitor 中,所有的指标事件都被输出为 Debug 日志。因此如果希望在开发环境查看指标事件的信息,需要添加额外的环境变量。
开发者可以在运行 dev 命令时添加环境变量 DEBUG=true,如果运行正常,访问后可以在控制台看到如下输出:
Server-Timing
在 Modern.js 中,服务端还会额外将各阶段指标作为 Server-Timing 注入到 HTML 响应头中。
在浏览器中,开发者可以通过 Performance API 获取: