升级到 v2.x编辑

以下是将 Node.js 代理从版本 1.x 升级到版本 2.x 的指南。

概述编辑

Node.js 代理的 2.0.0 版本需要 6.5 或更高版本的 APM 服务器,并使用新的 HTTP 接收 API。

新代理支持 Node.js 6、8 和 10+。

错误 ID 的格式已从 UUID4 更改为十六进制格式的随机 128 位数字。同样,事务 ID 的格式也已从 UUID4 更改为十六进制格式的随机 64 位数字。

配置选项编辑

配置顺序编辑

可以使用内联配置选项、环境变量和配置文件的组合来配置 Node.js 代理。许多配置选项也有默认值。这些应用的顺序在 2.0.0 中已更改。

在 1.x 中,配置选项相互覆盖的顺序为(较高的覆盖较低的)

2.0.0 中的新顺序为(较高的覆盖较低的)

更改的单位编辑

在 1.x 中,配置选项 abortedErrorThreshold 需要一个毫秒值。在 2.0.0 中,默认时间单位为秒。如果您想继续使用毫秒,则需要指定单位,例如:1500ms

在 1.x 中,所有布尔配置选项都可以使用字符串 onyes1 等来配置,表示 true,类似的值表示 false。在 2.0.0 中,这受到了限制,只有字符串 truefalse 会被解释为布尔值。

已删除的配置选项编辑

以下配置选项已在版本 2.0.0 中删除

名称

说明

flushInterval

请改用 apiRequestTime。请注意,由于接收 API 已更改,因此此选项的含义略有不同。

maxQueueSize

请改用 apiRequestSize。请注意,由于接收 API 已更改,因此此选项的含义略有不同。

代理 API编辑

在 2.0.0 中,agent.addFilter() 回调函数使用不同的有效负载调用(有关详细信息,请参阅文档)。

虽然 addFilter() 函数仍会针对发送到 APM 服务器的所有类型的数据调用,但在 2.0.0 中还添加了三个新的过滤器函数:agent.addErrorFilter()agent.addTransactionFilter()agent.addSpanFilter(),分别仅针对错误、事务和跨度调用。

以前未记录的方法 span.offsetTime() 已在 2.0.0 中删除。

以前未记录的 transaction.buildSpan() 方法已在 2.0.0 中替换为 transaction.startSpan(name, type)

agent.buildSpan(name, type)span.start(name, type) 方法已在 2.0.0 中删除。它们已被替换为 agent.startSpan(name, type)