目前我正在尝试为一个网络项目(战争)进行 POC OpenTelemetry 在阅读了很多不同的文档后,我仍然对某些问题没有正确的把握,不知道是否有人可以帮助指出正确的方向?
基本上:
1) 是否可以在没有任何导出器的情况下拥有 OpenTelemetry?
我已使用配置来执行此操作(OTEL_TRACES_EXPORTER=none,OTEL_METRICS_EXPORTER=none)。没有任何出口商会“起作用”吗?
2) 我需要在 SdkTracerProvider 中有一个跨度处理器才能让 Otel 工作吗?
在构建SdkTracerProvider时,我想知道是否必须设置一个spanProcessor(例如带有LoggingSpanExporter的BatchSpanProcessor),或者因为我不想使用导出器,所以不设置spanProcessor?
说实话,我想要实现的是:
不确定这是否可行。
我能够使用以下命令和最新的 java 代理和 Log4j 来实现您想要实现的目标。 我没有看到任何导出错误,并且可以在日志中看到跟踪 id 和跨度 id。
java -javaagent:opentelemetry-javaagent.jar \
-Dotel.traces.exporter=none \
-Dotel.metrics.exporter=none \
-Dotel.resource.attributes=service.name=Test-service \
-jar spring-app-0.0.1-SNAPSHOT.jar
以下文档可在此处获取。
我不确定 MDC 部分是否可以与手动检测一起使用,如上面的文档中提到的关于 java 代理。