Kitex 埋點粒度

2022-04-26 15:42 更新

埋點粒度

埋點粒度:

  1. LevelDisabled 禁用埋點
  2. LevelBase 僅啟用基本埋點
  3. LevelDetailed 啟用基本埋點和細粒度埋點

默認埋點策略:

  1. 無 tracer 時,默認 LevelDisabled
  2. 有 tracer 時,默認 LevelDetailed

客戶端埋點粒度控制:

import "github.com/cloudwego/kitex/client"
import "github.com/cloudwego/kitex/pkg/stats"
...
baseStats := client.WithStatsLevel(stats.LevelBase)
client, err := echo.NewClient("echo", baseStats)
if err != nil {
	log.Fatal(err)
}

服務端埋點粒度控制:

import "github.com/cloudwego/kitex/server"
import "github.com/cloudwego/kitex/pkg/stats"
...
baseStats := server.WithStatsLevel(stats.LevelBase)
svr, err := echo.NewServer(baseStats)
if err := svr.Run(); err != nil {
	log.Println("server stopped with error:", err)
} else {
	log.Println("server stopped")
}

埋點說明

基本埋點:

  1. RPCStart,(客戶端 / 服務端)RPC 調(diào)用開始
  2. RPCFinish,(客戶端 / 服務端)RPC 調(diào)用結束

細粒度埋點(客戶端):

  1. ClientConnStart,連接建立開始
  2. ClientConnFinish,連接建立結束
  3. WriteStart,請求發(fā)送(含編碼)開始
  4. WriteFinish,請求發(fā)送(含編碼)結束
  5. ReadStart,響應接收(含解碼)開始
  6. WaitReadStart,響應二進制讀取開始(僅適用于 Fast Codec)
  7. WaitReadFinish,響應二進制讀取完畢(僅適用于 Fast Codec)
  8. ReadFinish,響應接收(含解碼)完畢

細粒度埋點(服務端):

  1. ReadStart,請求接收(含解碼)開始
  2. WaitReadStart,請求二進制讀取開始(僅適用于 Fast Codec)
  3. WaitReadFinish,請求二進制讀取完畢(僅適用于 Fast Codec)
  4. ReadFinish,請求接收(含解碼)完畢
  5. ServerHandleStart,handler 處理開始
  6. ServerHandleFinish,handler 處理完畢
  7. WriteStart,響應發(fā)送(含編碼)開始

WriteFinish,響應發(fā)送(含編碼)結束

時序圖:

客戶端埋點時序圖


服務端埋點時序圖



以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號