You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过OTEL_TRACES_EXPORTER环境变量启用OpenTelemetry Java自定义SpanExporter

通过环境变量OTEL_TRACES_EXPORTER配置自定义SpanExporter(OpenTelemetry Java自动插桩场景)

要让自定义SpanExporter支持通过OTEL_TRACES_EXPORTER环境变量配置,需要把你的实现注册到OpenTelemetry的自动配置SPI体系中,具体步骤如下:

1. 实现ConfigurableSpanExporterProvider接口

创建一个工厂类,实现OpenTelemetry自动配置提供的ConfigurableSpanExporterProvider接口,负责根据环境变量指定的名称实例化自定义SpanExporter:

import io.opentelemetry.sdk.autoconfigure.spi.traces.ConfigurableSpanExporterProvider;
import io.opentelemetry.sdk.trace.export.SpanExporter;
import java.util.Map;

public class CustomSpanExporterFactory implements ConfigurableSpanExporterProvider {

    @Override
    public SpanExporter createExporter(Map<String, String> config) {
        // 可通过config参数读取自定义配置项(如OTEL_EXPORTER_MY_CUSTOM_*前缀的环境变量)
        return new YourCustomSpanExporter();
    }

    @Override
    public String getName() {
        // 此名称就是OTEL_TRACES_EXPORTER中要配置的值
        return "my-custom-exporter";
    }
}

注意:确保项目依赖opentelemetry-sdk-autoconfigure模块,自动插桩场景下可将依赖scope设为provided,因为OpenTelemetry Agent会自带该模块。

2. 注册SPI服务

在自定义SpanExporter的Jar包中,创建META-INF/services目录,并添加名为io.opentelemetry.sdk.autoconfigure.spi.traces.ConfigurableSpanExporterProvider的文件,文件内容为工厂类的全限定名:

com.your.package.CustomSpanExporterFactory

这一步是让OpenTelemetry自动配置机制能够发现你的自定义Exporter工厂。

3. 配置环境变量并启动应用

启动应用时,设置OTEL_TRACES_EXPORTER环境变量为工厂类中定义的名称:

# Linux/macOS
export OTEL_TRACES_EXPORTER=my-custom-exporter

# Windows(PowerShell)
$env:OTEL_TRACES_EXPORTER = "my-custom-exporter"

若需同时启用多个Exporter(比如自定义Exporter + OTLP),用逗号分隔即可:

export OTEL_TRACES_EXPORTER=my-custom-exporter,otlp

然后用自动插桩方式启动应用:

java -javaagent:path/to/opentelemetry-javaagent.jar -jar your-app.jar

如果自定义Exporter的Jar未在应用类路径中,可通过Agent的扩展参数指定:

java -javaagent:path/to/opentelemetry-javaagent.jar -Dotel.javaagent.extensions=path/to/your-custom-exporter.jar -jar your-app.jar

4. 清理硬编码逻辑

移除之前通过AutoConfigurationCustomizerProvider硬编码添加SpanExporter的代码,避免重复注册或冲突。


内容的提问来源于stack exchange,提问作者shadow0wolf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 13:05:17