SkyWalking自定義鏈路追蹤實現(xiàn)步驟
更新時間:2024年10月10日 15:40:34 作者:VNone
本文詳細介紹了如何使用SkyWalking進行自定義鏈路追蹤的步驟,包括POM文件依賴和邏輯業(yè)務(wù)代碼的編寫,文章最后推薦了腳本之家作為進一步學習的資源
第一步: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文件也進行打包 此處必須添加項目打包,不然會報錯: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的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-07-07springmvc實現(xiàn)自定義類型轉(zhuǎn)換器示例
本篇文章主要介紹了springmvc實現(xiàn)自定義類型轉(zhuǎn)換器示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02Java java.sql.Timestamp時間戳案例詳解
這篇文章主要介紹了Java java.sql.Timestamp時間戳案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下2021-08-08