当前位置: 首页 > news >正文

SkyWalking 自定义链路追踪

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

引入依赖

<!‐‐ 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);}
}

测试

返回值

参数 + 返回值

性能分析

新建任务

分析结果

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

相关文章:

  • 【ShuQiHere】从机器语言到汇编语言:深入理解 LC-3 编程 ️
  • 矩阵学习过程中的一些思考
  • 万界星空科技铜拉丝行业MES系统,实现智能化转型
  • 7天的Django实战学习计划
  • ECharts 快速使用
  • mybatisplus的查询,分页查询,自定义多表查询,修改的几种写法
  • class 030 异或运算的骚操作
  • 汽车总线之---- LIN总线
  • Python 解析 html
  • QT:模仿QQ界面(9.28)
  • 各种图形的打印
  • 车辆重识别(2020NIPS去噪扩散概率模型)论文阅读2024/9/27
  • 深信服校招面试总结
  • LabVIEW提高开发效率技巧----RT与FPGA模块
  • 【Linux】进程概念-2
  • input的行数自动增减
  • JAVA 学习IO流
  • java中具有继承关系的类及其对象初始化顺序
  • select2 取值 遍历 设置默认值
  • text-decoration与color属性
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • Zepto.js源码学习之二
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 技术胖1-4季视频复习— (看视频笔记)
  • 使用Gradle第一次构建Java程序
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 世界上最简单的无等待算法(getAndIncrement)
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 推荐一个React的管理后台框架
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 用 Swift 编写面向协议的视图
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • 正则表达式-基础知识Review
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • (1)STL算法之遍历容器
  • (3)选择元素——(17)练习(Exercises)
  • (八)Spring源码解析:Spring MVC
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (七)Flink Watermark
  • (十六)一篇文章学会Java的常用API
  • (十三)Flask之特殊装饰器详解
  • (一)Kafka 安全之使用 SASL 进行身份验证 —— JAAS 配置、SASL 配置
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .net CHARTING图表控件下载地址
  • .NET Core 版本不支持的问题
  • .NET Framework与.NET Framework SDK有什么不同?
  • .NET/C#⾯试题汇总系列:⾯向对象
  • .NET和.COM和.CN域名区别