SkyWalking自定義鏈路追蹤實現(xiàn)步驟
更新時間:2024年10月10日 15:40:34 作者:VNone
本文詳細(xì)介紹了如何使用SkyWalking進(jìn)行自定義鏈路追蹤的步驟,包括POM文件依賴和邏輯業(yè)務(wù)代碼的編寫,文章最后推薦了腳本之家作為進(jìn)一步學(xué)習(xí)的資源
第一步: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>
<!--
項目打包時會將java目錄中的*.xml文件也進(jìn)行打包
此處必須添加項目打包,不然會報錯: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將方法加入追蹤鏈路 如果一個業(yè)務(wù)方法想在ui界面的跟蹤鏈路上顯示出來,只需要在業(yè)務(wù)方法上加上@Trace注解即可 @Tags或@Tag 我們還可以為追蹤鏈路增加其他額外的信息,比如記錄參數(shù)和返回信息。實現(xiàn)方式:在方法上增加@Tag或者@Tag; @Tag 注解中 key = 方法名 ; value = returnedObj 返回值 arg[0] 參數(shù)


到此這篇關(guān)于SkyWalking自定義鏈路追蹤實現(xiàn)的文章就介紹到這了,更多相關(guān)skywalking鏈路追蹤內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot集成本地緩存性能之王Caffeine示例詳解
這篇文章主要為大家介紹了SpringBoot集成本地緩存性能之王Caffeine的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
springmvc實現(xiàn)自定義類型轉(zhuǎn)換器示例
本篇文章主要介紹了springmvc實現(xiàn)自定義類型轉(zhuǎn)換器示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02
Java java.sql.Timestamp時間戳案例詳解
這篇文章主要介紹了Java java.sql.Timestamp時間戳案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
java根據(jù)負(fù)載自動抓取jstack?dump詳情
這篇文章主要介紹了java根據(jù)負(fù)載自動抓取jstack?dump詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09

