5、 自定义SkyWalking链路追踪
    如果我们希望对项目中的业务方法,实现链路追踪,方便我们排查问题,可以使用如下的代码
    引入依赖

    1. <!-- SkyWalking 工具类 -->
    2. <dependency>
    3. <groupId>org.apache.skywalking</groupId>
    4. <artifactId>apm-toolkit-trace</artifactId>
    5. <version>8.4.0</version>

    5.1 @Trace将方法加入追踪链路
    如果一个业务方法想在ui界面的跟踪链路上显示出来,只需要在业务方法上加上@Trace注解即可
    image.png
    测试:
    image.png
    5.2 加入@Tags或@Tag
    我们还可以为追踪链路增加其他额外的信息,比如记录参数和返回信息。实现方式:在方法上增加@Tag或者@Tags。
    @Tag 注解中 key = 方法名 ; value = returnedObj 返回值 arg[0] 参数

    1. @Trace
    2. @Tag(key = "list", value = "returnedObj")
    3. public List<User> list(){
    4. return userMapper.list();
    5. }
    6. @Trace
    7. @Tags({@Tag(key = "param", value = "arg[0]"),
    8. @Tag(key = "user", value = "returnedObj")})
    9. public User getById(Integer id){
    10. return userMapper.getById(id);
    11. }

    image.png
    image.png
    性能分析
    skywalking的性能分析,在根据服务名称、端点名称,以及相应的规则建立了任务列表后,在调用了此任务列表的端点后。skywalking会自动记录,剖析当前端口,生成剖析结果,具体流程如图:
    image.png
    image.png
    image.png