OpenTelemetry的对接

一只会飞的鱼儿 15天前 ⋅ 26 阅读
ad

下载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表中就有对应错误信息了

 

 

关于Webfunny

Webfunny专注于前端监控系统,前端埋点系统的研发。 致力于帮助开发者快速定位问题,帮助企业用数据驱动业务,实现业务数据的快速增长。支持H5/Web/PC前端、微信小程序、支付宝小程序、UniApp和Taro等跨平台框架。实时监控前端网页、前端数据分析、错误统计分析监控和BUG预警,第一时间报警,快速修复BUG!支持私有化部署,Docker容器化部署,可支持千万级PV的日活量!

  点赞 0   收藏 0
  • 一只会飞的鱼儿
    共发布61篇文章 获得8个收藏
全部评论: 0