零代码插桩配置
此模块高度可配置,可以通过设置 环境变量 来实现。自动插桩的许多行为都可以根据您的需求进行配置,例如资源检测器、导出器、跟踪上下文传播头等。
SDK 和导出器配置
可以使用环境变量来设置 SDK 和导出器配置。
SDK 资源检测器配置
默认情况下,该模块将启用所有 SDK 资源检测器。您可以使用 OTEL_NODE_RESOURCE_DETECTORS 环境变量来仅启用某些检测器,或完全禁用它们。
envhostosprocessserviceinstancecontaineralibabaawsazuregcpall- 启用所有资源检测器none- 禁用资源检测
例如,要仅启用 env 和 host 检测器,您可以设置
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"
如果同时设置了这两个环境变量,则首先应用 OTEL_NODE_ENABLED_INSTRUMENTATIONS,然后将 OTEL_NODE_DISABLED_INSTRUMENTATIONS 应用于该列表。因此,如果相同的插桩同时包含在这两个列表中,则该插桩将被禁用。