下载agent的jar包,放到指定目录下,到时候idea或者启动脚本添加
这是在idea上加的
-javaagent:/Users/yulei/Documents/package/opentelemetry/opentelemetry-javaagent.jar
-Dotel.service.name=java-02
-Dotel.resource.attributes=deployment.environment=webfunny_20251129_230724_sit,service.instance.id=webfunny_20251129_230724_sit
-Dotel.exporter.otlp.endpoint=http://dev.webfunny.cn:4317
-Dotel.exporter.otlp.protocol=grpc
-Dotel.traces.exporter=otlp
-Dotel.metrics.exporter=none
-Dotel.logs.exporter=otlp
-Dotel.javaagent.logging.level=INFO
-Dotel.instrumentation.jvm-metrics.enabled=true
-Dotel.instrumentation.system-metrics.enabled=true
-Dotel.instrumentation.jdbc.enabled=true
-Dotel.instrumentation.spring-webmvc.enabled=true
-Dotel.instrumentation.http-client.enabled=true
项目pom.xml中引入相关jar
<!-- 添加 OpenTelemetry 相关依赖 -->
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-api</artifactId>
<version>1.24.0</version>
</dependency>
<dependency>
<groupId>io.opentelemetry.instrumentation</groupId>
<artifactId>opentelemetry-instrumentation-annotations</artifactId>
<version>1.24.0</version>
</dependency>
如何上报错误信息到span中呢,在service层的方法行加个@WithSpan注解
@Slf4j
@Service
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
public class GearServiceImpl extends ServiceImpl<GearMapper, Gear> implements IGearService {
@Override
@WithSpan
public IPage<Gear> getGearPage(Gear gear, QueryRequest request) {
Page<CdkeyConfig> page = new Page<>(request.getPageNum(), request.getPageSize());
SortUtil.handlePageSort(request, page, "gear.type", FebsConstant.ORDER_ASC, false);
IPage<Gear> gearPage = this.baseMapper.getGearPage(page, gear);
return gearPage;
}
}
这样ApmSpaninfo表中就有对应错误信息了