升级至 v2.x
以下是将 Node.js 代理从 1.x 版本升级到 2.x 版本的指南。
Node.js 代理 2.0.0 版本要求 APM Server 版本为 6.5 或更高,并使用了新的 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 中,所有布尔配置选项都可以使用字符串 on、yes、1 等来表示 true,并用类似的值表示 false。在 2.0.0 中,这一点受到了限制,只有字符串 true 和 false 才会被解释为布尔值。
以下配置选项已在 2.0.0 版本中移除
| 名称 | 注意 |
flushInterval |
请改用 apiRequestTime。请注意,由于接收 API 已更改,此选项的含义略有不同。 |
maxQueueSize |
请改用 apiRequestSize。请注意,由于接收 API 已更改,此选项的含义略有不同。 |
在 2.0.0 中调用 agent.addFilter() 回调时,其传递的负载(payload)有所不同(详情请参阅文档)。
尽管对于发送到 APM Server 的所有类型的数据仍会调用 addFilter() 函数,但在 2.0.0 中还添加了三个新的过滤函数:agent.addErrorFilter()、agent.addTransactionFilter() 和 agent.addSpanFilter(),它们分别仅针对错误、事务和跨度(span)被调用。
先前未文档化的 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) 取代。