探针(Node.js Agent)版本说明

更新时间:
复制 MD 格式

本文介绍 ARMS 应用监控 Node.js 探针的版本更新历史。

查看探针版本

  1. 登录 ARMS 控制台。

  2. 在左侧导航栏选择应用监控 > 系统管理,然后单击探针发布记录页签,下拉选中Nodejs。

探针版本

版本

发布时间

发布说明

1.0.11

2026年10月22日

新特性

  • 新增多进程及 Worker 实例隔离能力。

  • 新增 OpenTelemetry API 兼容桥接,支持通过标准 OpenTelemetry API 创建的链路、指标和上下文接入 NodeSDK,支持与开源 OpenTelemetry Instrumentation 配合使用,扩展现有自动采集范围。

  • 新增 OpenTelemetry 全局组件冲突处理。

  • 新增 Electron RUM 接入入口。

  • 新增 OpenClaw 插桩。

  • 扩展 Pi Agent SDK 支持范围,支持 1.x 版本的自动 ESM 采集。

性能与稳定性优化

  • 优化指标采集、聚合、转换和导出流程,减少重复标签处理、重复指标展开及中间对象分配,并在大批量处理过程中分段让出事件循环,降低集中处理指标对业务请求的阻塞。

  • 优化指标 Protobuf 序列化,采用分块字节写入和嵌套消息复用,减少大数组展开、重复内存复制及临时对象开销。

  • 增强指标高基数与容量保护,对采集序列数、单次处理记录数、估算字节数及标签大小设置边界;超限时使用 overflow 聚合和分级降级策略,优先保留请求数、错误数、耗时等核心指标。

  • 增强 Trace 队列和批次的容量控制,支持按 Span 数量与估算字节数共同限制缓冲、导出批次和重试队列,增加容量丢弃统计,控制大正文及突发流量场景的资源占用。

  • 增强指标链路异常容错,隔离采集、处理、百分位计算和导出阶段的异常,避免可选分布指标计算失败导致已生成的核心指标一并丢弃,并对重复异常日志限频。

问题修复

  • 修复 CJS/ESM 类型出口兼容问题,完善 NodeNext、Bundler 等 TypeScript 模块解析方式下的类型声明及子路径导出。

  • 修复显式关闭 Undici 采集后,SDK shutdown 抛错的问题。

  • 修正模型 SSE 流正常结束后清理 HTTP 连接时的错误判定,避免将正常流清理误记为业务调用失败,同时保留真实错误和主动取消状态。

  • 修复运行时指标采集器停用后的回调清理问题,避免停用后继续产出指标或反复启停时累积回调。

  • 完善指标 flush、导出器切换和 shutdown 的等待与清理逻辑,减少并发处理及资源切换时的竞态。

  • 完善进程实例身份在异步资源探测、配置更新和不同指标上传端点下的一致性处理,并兼容 Node.js 12 的实例标识生成。

1.0.10

2026年9月28日

新特性

  • 新增 Pi Agent SDK 自动插桩。

  • 新增指标百分位统计能力,默认输出 P50、P75、P90、P95 和 P99。

  • 新增 ARMS 上报网络自动选择能力,支持公网、内网和跨域网络策略。

现有特性调整

  • 默认使用 auto 网络策略,依次选择 intranet、share 和 public;支持通过 ARMS_NETWORK_STRATEGY、PROFILER_NETWORK_STRATEGY 或 ARMS_COLLECTOR_ENDPOINT 显式配置。

  • Endpoint 切换时统一切换 Trace、Metrics、AgentInfo、SQL Metadata、异常 Metadata 和探针日志;已开始的上报请求继续使用原 Endpoint 完成。

  • 补充 HTTP、RPC、数据库、消息、GenAI、Next.js、Nuxt、GC 和 Event Loop 等场景的耗时分布及百分位指标。

问题修复

  • 修复 arms_rpc_requests_seconds 等指标值为毫秒但被标记为秒,导致平均耗时被放大 1000 倍的问题。

  • 修复 Histogram Count 重复映射为请求数,导致请求数重复统计的问题。

  • 修正 Event Loop Delay 采样分辨率的单位处理。

  • 修正新版 Node.js GC 类型字段读取,并补充 GC Pause Histogram。

1.0.9

2026年9月11日

新特性

  • 新增 Mastra 自动插桩,支持 @mastra/core >=1.50.0 <2.0.0,需要安装 @mastra/observability。

  • 新增 Genkit 自动插桩,支持 @genkit-ai/core >=1.0.4 <2.0.0。

  • 新增 MCP Server 自动插桩,支持 @modelcontextprotocol/sdk >=1.0.0 <2.0.0(Node.js 18 及以上)、@modelcontextprotocol/server >=2.0.0 <3.0.0(Node.js 20 及以上)和 chrome-devtools-mcp >=1.8.0 <1.9.0。

现有特性调整

  • GenAI 应用识别由静态配置改为运行时识别。

  • 探针内部 INFO、DEBUG、WARN、ERROR 诊断日志统一输出到 stderr,并受日志级别控制。

  • 业务代码的 console.log 仍输出到 stdout。

  • DNS 自动插桩默认关闭。

问题修复

  • 修复调用 forceFlush() 时错误停止 AgentInfo 定时心跳的问题。

  • 移除 HTTP 插桩遗留调试输出。

  • Runtime 指标采集异常统一通过探针诊断日志输出,避免污染业务输出。

1.0.8

2026年8月26日

新特性

  • 新增标签服务能力,支持实例标签和应用标签的全生命周期管理,包括初始化、归一化、合并和刷新。

  • 新增应用标签富化。

现有特性调整

  • 优化 AgentInfo 心跳上报。

  • 优化 Span 导出时的标签注入策略。

  • 优化 K8s 元数据采集逻辑。

  • 优化 Claude Agent 语义。

1.0.7

2026年8月11日

新特性

  • 新增 Nuxt 2 自动插桩能力。

  • 新增日志控制配置能力,支持控制内部诊断日志开关、日志级别、console 输出和业务日志 Trace 注入。

现有特性调整

  • 调整远程配置解析能力,支持从远程配置下发日志采集和 Trace 注入控制。

  • 调整 Nuxt 插件能力,Nuxt 2 与 Nuxt 3/Nitro/h3 场景由同一 nuxt 插件配置项管理。

新插件或者插件新版本

  • 支持 Nuxt 2。

性能优化

  • 优化 Trace 批处理导出能力,支持导出并发、失败重试和重试队列,提升高并发链路上报稳定性。

  • 优化 ARMS 指标导出器,支持导出分片、并发、唯一 series 限制和失败重试队列,提升高并发指标上报稳定性。

  • 优化异常元数据批处理与队列管理,支持批量、队列大小、单条 value 长度、去重缓存和重试配置。

1.0.6

2026年8月5日

新特性

  • 新增 Claude Agent user_input 粒度追踪能力,支持 AsyncIterable prompt 中每个真实用户输入生成独立 Agent 根 Span 和 TraceId。

现有特性调整

  • 调整 Claude Agent 插件配置,新增 traceGranularity 配置,支持 query、user_input、turn 写法,其中 turn 会归一为 user_input。

1.0.5

2026年7月29日

新特性

现有特性调整

  • 调整 Node.js Agent 默认插件配置,默认启用 Next.js 与 Nuxt/Nitro 自动采集能力。

  • 调整 Nuxt/Nitro 插件处理逻辑,支持嵌套 handler 场景创建追踪 Span。

新插件或者插件新版本

  • 支持 Next.js。

  • 支持 Nuxt 3/Nitro/h3。

1.0.4

2026年7月16日

现有特性调整

  • 统一 ARMS 应用公共 RPC 指标 duration 口径为毫秒值,覆盖 HTTP Core、Undici、MongoDB、Mongoose、ioredis、Kafka、Socket.IO 等插件。

  • HTTP Core 补齐 slow、by-status、latency 指标;by-status 指标 label 统一为 status,HTTP status 使用原始状态码字符串。

  • gRPC 补齐 slow、by-status、latency 指标;by-status 指标 label 统一为 status。

  • 统一异常指标 label,使用 excep.ids,不再使用 excepIds;MySQL/MySQL2 异常路径统一使用 CRC 异常 ID。

  • Kafka、Socket.IO、Redis、ioredis、MongoDB、Mongoose、PG 等插件补齐 Trace 业务属性和 slow/error 指标覆盖。

  • 统一 GenAI 指标低基数 label,OpenAI、Vercel AI、LangChain、Claude Agent 的 calls/error/slow/duration/token/first-token 指标 label 口径保持一致;token 指标补充 usageType。

  • Runtime 指标补充 Linux 下 process.open_file_descriptor.count、process.context_switches、process.memory.virtual 采集;非 Linux 环境不再上报虚假 virtual memory 值。

问题修复

  • 修复 HTTP by-status 指标错误使用 statusCode label 的问题。

  • 修复部分插件错误指标缺少 excep.ids 的问题。

  • 修复 Runtime process.memory.virtual 使用 V8 heapTotal 作为虚拟内存值的问题。

  • 修复 OpenAI 自动插桩后再次手动插桩导致重复 LLM Span 的问题。

1.0.3

2026年6月25日

新特性

  • 新增 Vercel AI SDK 插桩能力,支持服务端 Agent/LLM/Tool 自动采集、首 Token 时间指标、Agent/Tool/Embedding/Rerank Span 采集以及 RAG 元数据检测。

  • 新增 Claude Agent 插桩能力。

现有特性调整

  • 优化 ARMS 配置生成逻辑,增加输入参数校验,避免无效配置导致错误。

  • 优化远程配置轮询机制,增加定时器生命周期管理,避免资源泄漏。

1.0.2

2026年6月10日

新特性

  • 新增 LangChain v1.x 插桩能力,支持 Agent 名称解析、工具定义提取、CommonJS 接入示例和流式调用首 Token 时间指标。

  • 新增 LangGraph 插桩能力,支持 createReactAgent 和 Pregel stream 场景识别。

  • 新增 GenAI 应用类型识别能力,支持 OpenAI 调用场景的 GenAI 指标采集。

  • 新增 LangChain 和 LangGraph 远程配置启停能力。

现有特性调整

  • 调整 OpenAI 插件配置,新增 traceContent 控制项。

  • 调整 ESM Loader 模块解析逻辑,兼容 langsmith 及其相对依赖加载。

  • 调整环境变量配置说明,补充 ARMS_* 推荐变量、旧变量兼容关系、K8s 元数据、导出器和批处理配置。

新插件或者插件新版本

  • 支持 LangChain v1.x 插件。

  • 支持 LangGraph 插件。

问题修复

  • 修复 npm 包运行时代码残留 @ali/* 依赖的问题。

  • 修复 LangChain Span 父子关系在异步 Handler 场景下丢失的问题。

1.0.1

2026年5月19日

新特性

  • 新增远程配置能力,支持从 ARMS 服务端拉取配置并应用采样、Span Limits 和插件开关。

  • 新增声明式采样策略,支持 always-on、always-off、trace-id-ratio 和 parent-based。

  • 新增指标采集能力,支持 metricExporter、metricProcessor、metricFlushIntervalMs、Observable 回调超时和运行时统计配置。

  • 新增探针自监控日志能力,支持 logExporter 和 logExportIntervalMs 配置。

  • 新增 Log-Trace 关联能力,支持在应用日志中自动注入 Trace Context。

  • 新增 Node.js 12 兼容性支持。

现有特性调整

  • 调整 NodeSDK 默认资源探测能力,集成 K8s 资源检测器并支持 ARMS 集群、命名空间和工作负载资源属性。

  • 调整数据库与运行时采集逻辑,补齐 SQL 元数据、业务指标、自监控指标和 Runtime 指标采集。

  • 调整 HTTP 链路上下文传播能力,支持 EagleEye 上游服务上下文传递与注入。

新插件或者插件新版本

  • 支持 OpenAI 插件,支持 Token 增强配置 enrichTokens。

  • 支持 pino、winston、bunyan、console 日志插件。

  • 支持 Runtime 指标插件,采集 Event Loop、V8 Heap、GC 和 Process 指标。

  • 支持 KafkaJS V2.x 插件。

  • 支持 gRPC 插件指标采集与自监控能力增强。

性能优化

  • 优化 Node.js 和 V8 指标采集逻辑,降低异常场景下的采集噪声和无效采集。

问题修复

  • 修复 traceparent 请求头被覆盖的问题。

  • 修复 HTTP 请求属性提取不完整的问题。

  • 修复指标上报请求被业务链路采集的问题。

  • 修复 SQL 元数据和异常元数据未达到批量阈值时长期堆积不上报的问题。

  • 修复资源属性缺少 acs.arms.service.id 的问题。

1.0.0

2025年12月3日

新特性

  • 新增 Node.js 应用链路追踪接入能力,支持通过 ESM Loader、CommonJS 预加载和手动 NodeSDK 三种方式接入。

  • 新增 ARMS Trace 上报能力,支持服务名、License、地域、工作空间、项目和服务 ID 等基础配置。

  • 新增自动资源探测能力,支持进程、主机等运行环境资源属性采集。

新插件或者插件新版本

  • 支持 HTTP、Express、Koa、Undici、gRPC、DNS、Socket.IO、Net 等 Node.js 网络与 Web 框架插件。

  • 支持 MongoDB、Mongoose、MySQL、MySQL2、PostgreSQL、Redis、ioredis、Kafka 等数据库与消息插件。

支持的 Node.js 组件和框架

Web 框架

框架

支持版本

说明

Express

>=4.0.0 <6

自动插桩

Koa

>=2.0.0 <4

自动插桩

Next.js

>=12.0.0 <17.0.0

支持 SSR、RSC、API Route、middleware 等链路

Nuxt 3/Nitro/h3

h3 >=1.0.0 <2.0.0

hookable >=5.0.0 <6.0.0

支持 Nitro server handler、h3 handler、render hook

Nuxt 2

>=2.3.0 <3.0.0

支持 @nuxt/server、@nuxt/vue-renderer、@nuxt/core 关键链路

数据库与存储

组件

支持版本

说明

MongoDB

>=3.3.0 <4

>=4.0.0 <7

自动插桩

Mongoose

>=5.9.7 <9

自动插桩

MySQL

>=2.0.0 <3

自动插桩

MySQL2

>=1.4.2 <4

自动插桩

PostgreSQL (pg)

pg >=8.0.3 <9

pg-pool >=2.0.0 <4

自动插桩

Redis

>=2.6.0 <4

自动插桩

ioredis

>=2.0.0 <6

自动插桩

消息队列

组件

支持版本

说明

Kafka(kafkajs)

>=0.3.0 <3

自动插桩

AI/GenAI

组件

支持版本

说明

OpenAI

>=4 <6

支持 Token 增强配置

Vercel AI SDK

>=4.0.0 <7

支持 Agent/LLM/Tool 自动采集、首 Token 时间指标

LangChain

v1.x(动态插桩)

支持 Agent 名称解析、工具定义提取、流式调用首 Token 时间指标

LangGraph

v1.x(动态插桩)

支持 createReactAgent 和 Pregel stream 场景

Claude Agent

>=0.3.0 <1

支持 user_input 粒度追踪

Mastra

@mastra/core >=1.50.0 <2

支持 Agent、Step、LLM、Tool、Workflow Span;需要安装 @mastra/observability

Genkit

@genkit-ai/core >=1.0.4 <2

支持 Flow、Agent、Model、Tool、Retriever、Embedding 等调用链路

MCP SDK v1

@modelcontextprotocol/sdk >=1.0.0 <2.0.0

支持 Node.js 18 及以上的 MCP Server 自动插桩

MCP Server v2

@modelcontextprotocol/server >=2.0.0 <3.0.0

支持 Node.js 20 及以上的 MCP v2 Server 自动插桩

Chrome DevTools MCP

>=1.8.0 <1.9.0

支持 Chrome DevTools MCP 工具调用链路,要求 Node.js 20.19+/22.12+/23+

Pi Agent SDK

@earendil-works/pi-agent-core、@earendil-works/pi-ai、@earendil-works/pi-coding-agent
>=0.74.0 <2;pi-durable >=1.2.0 <1.3.0

Agent、Step、LLM、Tool、压缩、树导航、流式响应、重试和队列事件;记录模型、Provider、Token、缓存 Token、Cost、TTFT、状态和耗时

OpenClaw

openclaw、@loongsuite/cms_instrumentations/openclaw;本次验证 2026.10.5,未定义完整支持范围

模型、工具、子 Agent、错误、取消链路采集;RUM 场景下默认不采集正文,普通 NodeSDK 不适用该默认。验证环境:独立 Node agent/gateway 及 Electron 44.9.1 的 main/worker/utility/spawn/fork 进程;ASAR 仅验证 runtime 提取注入,不构成完整 OpenClaw ASAR 业务验收

Electron RUM

/rum、/rum-register(1.0.11 新增)

Node.js Trace runtime;RUM 模式默认关闭 MCP 等 AI 正文(mcp.captureContent 默认 false,显式开启可采集,错误状态保留,非自动脱敏能力;普通 NodeSDK 不适用该默认);保留已有全局 OpenTelemetry provider,不接管其所有权,不支持 Metric/Log 全量交接;上报改进字节容量、高基数 overflow、分批与重试,不承诺零丢失

日志框架

组件

支持版本

说明

pino

>=7.0.0 <11

自动插桩,支持 Log-Trace 关联

winston

>=3.0.0 <4

自动插桩,支持 Log-Trace 关联

bunyan

>=1.8.0 <3

自动插桩,支持 Log-Trace 关联

console

-

自动插桩,支持 Log-Trace 关联

其他

组件

支持版本

说明

HTTP/HTTPS

Node.js 内置

自动插桩

Undici

随 Node.js runtime

自动插桩

gRPC

^1.0.0

自动插桩

DNS

Node.js 内置

支持自动插桩,自 1.0.9 起默认关闭,需要时显式启用

Socket.IO

>=3 <5

自动插桩

Net

Node.js 内置

自动插桩

Runtime

Node.js 内置

采集 Event Loop、V8 Heap、GC、Process 指标