基本術語
span(跨度):基本工作單元,發送一個遠端排程任務,就hi産生一個span,span是一個比4位id唯一辨別
trace(跟蹤):一系列span組成一個樹狀結構,請求一個微服務系統的api接口,這個api接口,需要調用多個微服務,調用每個微服務都會産生一個新的span,所有由這個請求産生的span組成了車工trace
annotation(标注):用來及時記錄一個事件的,一些核心注解用來定義一個請求的開始和結束,這些注解包括以下:
- cs:client sentm:用戶端發送一個請求,這個注解描述了這個span的開始
- sr:server received 服務端獲得請求并準備開始處理它,如果将其sr減去cs時間戳便可得到網絡傳輸時間
- ss server sent :(服務端發送響應)該注解表明請求處理的完成(當請求傳回用戶端)如果ss的時間錯減去sr時間戳,就可以得到伺服器請求的時間。
- cr client received(用戶端接收響應) 此時span的結束,如果cr的時間戳減去cs時間戳便可以得到整個請求鎖消耗的時間。
導入依賴
<!--鍊路追蹤-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
添加配置
spring:
zipkin:
base-url: http://localhost:9411
sender:
type: web
# 取消nacos對zipkin的服務發現
discovery-client-enabled: false
#采樣取值介于 0到1之間,1則表示全部收集
sleuth:
sampler:
probability: 1
logging:
level:
#上線後,可以降低日志級别
#openfeign鍊路追蹤
org.springframework.cloud.openfeign: debug
#sleuth鍊路追蹤
org.springframework.cloud.sleuth: debug
- 查詢調用鍊路