SkyWalking 自定义链路追踪

对项目中的业务方法,实现链路追踪,方便我们排查问题

引入依赖

XML 复制代码
<!‐‐ SkyWalking 工具类 ‐‐> 
<dependency> 
    <groupId>org.apache.skywalking</groupId> 
    <artifactId>apm‐toolkit‐trace</artifactId> 
    <version>8.4.0</version> 
</dependency>

@Trace 注解业务方法

业务方法想在跟踪链路上显示出来,只需要在业务方法上加上@Trace注解即可

代码

java 复制代码
@RequestMapping("/list")
public Object list() {
    return orderService.list();
}
java 复制代码
@Service
public class OrderService {

    @Trace
    public List<User> list() {
        List<User> result = new ArrayList<>();
        result.add(new User(1, "用户1"));
        result.add(new User(2, "用户2"));
        return result;
    }
}

测试

http://127.0.0.1:8040/order/list

http://127.0.0.1:8040/order/list

@Tags或@Tag 记录额外信息

可以为追踪链路增加其他额外的信息,比如记录参数和返回信息

实现方式

在方法上增加@Tag或者@Tags

注解说明

@Tag :注解中 key = 方法名 ; value = returnedObj 返回值 arg0 参数

代码

java 复制代码
@Service
public class OrderService {

    @Trace
    @Tag(key = "list", value = "returnedObj")  // 返回值
    public List<User> list() {
        List<User> result = new ArrayList<>();
        result.add(new User(1, "用户1"));
        result.add(new User(2, "用户2"));
        return result;
    }

    @Trace
    @Tags({
            @Tag(key = "param", value = "arg[0]"),    // 第一个参数
            @Tag(key = "user", value = "returnedObj") // 返回值
    })
    public Object getById(Integer id) {
        return new User(id, "用户" + id);
    }
}

测试

返回值
参数 + 返回值

性能分析

新建任务

分析结果

发送 订单添加请求 查看分析结果

相关推荐
Jinkxs13 天前
SkyWalking - 生产级部署:集成 Elasticsearch 作为后端存储
大数据·elasticsearch·skywalking
就叫_这个吧15 天前
IDEA本地springcloud项目 接入SkyWalking实现链路追踪
spring cloud·intellij-idea·skywalking
Databuff19 天前
两款开源APM工具【skywalking+databuff】组合落地实战
开源·skywalking
Linux-187425 天前
分布式链路追踪系统之skywalking 追踪案例
云原生·skywalking·分布式链路追踪系统·应用程序性能监控·skywalking java agent·skywalking python agent
Ramboooooooo1 个月前
SkyWalking-10.4.0 Docker + Nacos + Elasticsearch 生产级部署手册
elasticsearch·docker·skywalking
阿宇的技术日志1 个月前
SkyWalking 跨服务完整链路聚合原理
skywalking
Databuff1 个月前
给Skywalking一套更强的后端
运维·开源软件·skywalking
爱学习的小可爱卢1 个月前
SpringCloud——深入解析SkyWalking源码:TraceProfiling追踪慢方法
spring cloud·微服务·skywalking
爱学习的小可爱卢1 个月前
SpringCloud——SkyWalking全链路监控源码深度解析
java·微服务·springcloud·skywalking
爱学习的小可爱卢1 个月前
SpringCloud——SkyWalking告警规则触发WebHook全解析
java·微服务·springcloud·skywalking