Node.js Agent 参数配置 - 浏览器

OneAPM 的 instrumentation 可以延伸到应用的客户服务器内部。oneapm 模块可以生成<script>标题,在插入到 html 模板中时,可以捕捉客户端的页面加载时间。

标题必须手动添加,无须其他额外配置即可启用浏览器加载时间。

基础设置

  • 在 html 页面插入 oneapm.getBrowserTimingHeader() 的结果。
  • oneapm.getBrowserTimingHeader() 应当放在 <head> 选项卡的开头。

如果使用了 X-UA-COMPATIBLE HTTP-EQUIV meta tags,将 getBrowserTimingHeader() 方法加在其后。

  • 因为每次访问页面 oneapm.getBrowserTimingHeader() 会动态生成监控数据,请勿在模板引擎中缓存这个方法。

示例

以下示例使用 express 和 jade。Express 是当下流行的网页应用框架,jade 是一个常用的模板模块。虽然针对其他框架在细节方面有所区别,以下描述的大体的运行方式应当适用于多数用例:

插入浏览器性能监控的最简单的方式是在模板中传递 oneapm 模块,然后在模板内部调用 oneapm.getBrowserTimingHeader()。

oneapm.getBrowserTimingHeader() 生成的是一段 html 标签,所以不用放到 script 标签中。

app.js:

layout.jade:

默认情况下,oneapm.getBrowserTimingHeader() 请求会得到有效标题的应答。您只需将enable 设为 false,就可以禁用浏览器监控功能。在 oneapm.js 文件中,将 browser_monitoring 这一项设置为以下代码,即可禁用浏览器监控:

您也可以设置环境变量为: ONEAPM_BROWSER_MONITOR_ENABLE=false.

甚至在您不在使用标题生成的时候,将标题生成代码放在系统中也是安全的,如果浏览器加载时间被禁用,或者出现错误导致不能生成标题,oneapm 模块会生成无害的 html 标注。如果完全禁用了 oneapm 模块,则不会生成任何内容。

 

还有其他问题? 提交请求

您还可以采取以下方式解决问题: