对项目中的业务方法,实现链路追踪,方便我们排查问题
引入依赖
<!‐‐ SkyWalking 工具类 ‐‐>
<dependency> <groupId>org.apache.skywalking</groupId> <artifactId>apm‐toolkit‐trace</artifactId> <version>8.4.0</version>
</dependency>
@Trace 注解业务方法
业务方法想在跟踪链路上显示出来,只需要在业务方法上加上@Trace注解即可
代码
@RequestMapping("/list")
public Object list() {return orderService.list();
}
@Service
public class OrderService {@Tracepublic 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 返回值 arg[0] 参数
代码
@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);}
}
测试
返回值
参数 + 返回值
性能分析
新建任务
分析结果
发送 订单添加请求 查看分析结果