零代码插桩配置

了解如何为 Node.js 配置零代码插桩

此模块高度可配置,可以通过设置 环境变量 来实现。自动插桩的许多行为都可以根据您的需求进行配置,例如资源检测器、导出器、跟踪上下文传播头等。

SDK 和导出器配置

可以使用环境变量来设置 SDK 和导出器配置

SDK 资源检测器配置

默认情况下,该模块将启用所有 SDK 资源检测器。您可以使用 OTEL_NODE_RESOURCE_DETECTORS 环境变量来仅启用某些检测器,或完全禁用它们。

  • env
  • host
  • os
  • process
  • serviceinstance
  • container
  • alibaba
  • aws
  • azure
  • gcp
  • all - 启用所有资源检测器
  • none - 禁用资源检测

例如,要仅启用 envhost 检测器,您可以设置

OTEL_NODE_RESOURCE_DETECTORS=env,host

排除插桩库

默认情况下,所有 支持的插桩库 都已启用,但您可以使用环境变量来启用或禁用特定插桩。

启用特定插桩

使用环境变量 OTEL_NODE_ENABLED_INSTRUMENTATIONS,通过提供不带 @opentelemetry/instrumentation- 前缀的插桩库名称的逗号分隔列表,来仅启用某些插桩。

例如,要仅启用 @opentelemetry/instrumentation-http@opentelemetry/instrumentation-express 插桩

OTEL_NODE_ENABLED_INSTRUMENTATIONS="http,express"

禁用特定插桩

使用环境变量 OTEL_NODE_DISABLED_INSTRUMENTATIONS,通过提供不带 @opentelemetry/instrumentation- 前缀的插桩库名称的逗号分隔列表,来保留完全启用的列表并仅禁用特定插桩。

例如,要仅禁用 @opentelemetry/instrumentation-fs@opentelemetry/instrumentation-grpc 插桩

OTEL_NODE_DISABLED_INSTRUMENTATIONS="fs,grpc"