SkyWalking自定義鏈路追蹤實(shí)現(xiàn)步驟
第一步:POM文件依賴
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>vnacos</artifactId>
<groupId>com.nacos</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>order</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<!-- ali 連接池 -->
<druid.version>1.1.9</druid.version>
<java.version>1.8</java.version>
<!-- mybatis -->
<mybatis-plus-boot-starter.version>3.0-RELEASE</mybatis-plus-boot-starter.version>
<mybatis-spring-boot-starter.version>1.3.2</mybatis-spring-boot-starter.version>
<mybatis.ehcache.version>1.1.0</mybatis.ehcache.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- ali 連接池依賴 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
<!-- mybatis 依賴 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis-spring-boot-starter.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus-boot-starter.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis.caches</groupId>
<artifactId>mybatis-ehcache</artifactId>
<version>${mybatis.ehcache.version}</version>
</dependency>
<!-- mysql 依賴 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--nacos-服務(wù)注冊發(fā)現(xiàn)-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<strong> <!-- SkyWalking 工具類, 跟服務(wù)版本一致 -->
<dependency>
<groupId>org.apache.skywalking</groupId>
<artifactId>apm-toolkit-trace</artifactId>
<version>8.5.0</version>
</dependency></strong>
</dependencies>
<!--
項(xiàng)目打包時(shí)會(huì)將java目錄中的*.xml文件也進(jìn)行打包
此處必須添加項(xiàng)目打包,不然會(huì)報(bào)錯(cuò):Invalid bound statement (not found): XXXXXXX
-->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
</project>第二部:邏輯業(yè)務(wù)代碼使用注釋
package com.order.service.Impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.order.entity.Emp;
import com.order.mapper.EmpMapper;
import com.order.service.EmpService;
import org.apache.skywalking.apm.toolkit.trace.Tag;
import org.apache.skywalking.apm.toolkit.trace.Tags;
import org.apache.skywalking.apm.toolkit.trace.Trace;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author vn
* @version 1.0
* @date 2022/3/17 20:53
*/
@Service
public class EmpServiceImpl extends ServiceImpl<EmpMapper,Emp> implements EmpService {
@Autowired
private EmpMapper empMapper;
@Override
<strong> @Trace
@Tags({@Tag(key</strong><strong>="selectEmpById",value="returnedObj"),
@Tag(key="selectEmpById",value="arg[0]")})
</strong>public Emp selectEmpById(Integer id) {
return empMapper.selectEmpById(id);
}
@Override
<strong> @Trace
@Tag(key</strong><strong>="selectEmp",value="returnedObj")
</strong>public List<Emp> selectEmp() {
return empMapper.selectEmp();
}
}@Trace將方法加入追蹤鏈路 如果一個(gè)業(yè)務(wù)方法想在ui界面的跟蹤鏈路上顯示出來,只需要在業(yè)務(wù)方法上加上@Trace注解即可 @Tags或@Tag 我們還可以為追蹤鏈路增加其他額外的信息,比如記錄參數(shù)和返回信息。實(shí)現(xiàn)方式:在方法上增加@Tag或者@Tag; @Tag 注解中 key = 方法名 ; value = returnedObj 返回值 arg[0] 參數(shù)


到此這篇關(guān)于SkyWalking自定義鏈路追蹤實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)skywalking鏈路追蹤內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot集成本地緩存性能之王Caffeine示例詳解
這篇文章主要為大家介紹了SpringBoot集成本地緩存性能之王Caffeine的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
如何基于java實(shí)現(xiàn)Gauss消元法過程解析
這篇文章主要介紹了如何基于java實(shí)現(xiàn)Gauss消元法過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
springmvc實(shí)現(xiàn)自定義類型轉(zhuǎn)換器示例
本篇文章主要介紹了springmvc實(shí)現(xiàn)自定義類型轉(zhuǎn)換器示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02
Java java.sql.Timestamp時(shí)間戳案例詳解
這篇文章主要介紹了Java java.sql.Timestamp時(shí)間戳案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
基于jni調(diào)用時(shí),jvm報(bào)錯(cuò)問題的深入分析
本篇文章是對jni調(diào)用時(shí),jvm的報(bào)錯(cuò)問題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
一文詳解如何在控制臺(tái)顯示MyBatis的SQL語句
這篇文章主要為大家介紹了如何在控制臺(tái)顯示MyBatis的SQL語句實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
java根據(jù)負(fù)載自動(dòng)抓取jstack?dump詳情
這篇文章主要介紹了java根據(jù)負(fù)載自動(dòng)抓取jstack?dump詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09

