天天看點

sleuth鍊路追蹤

基本術語

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
           
  1. 查詢調用鍊路
    sleuth鍊路追蹤

繼續閱讀