Kitex 埋點(diǎn)粒度

2022-04-26 15:42 更新

埋點(diǎn)粒度

埋點(diǎn)粒度:

  1. LevelDisabled 禁用埋點(diǎn)
  2. LevelBase 僅啟用基本埋點(diǎn)
  3. LevelDetailed 啟用基本埋點(diǎn)和細(xì)粒度埋點(diǎn)

默認(rèn)埋點(diǎn)策略:

  1. 無(wú) tracer 時(shí),默認(rèn) LevelDisabled
  2. 有 tracer 時(shí),默認(rèn) LevelDetailed

客戶端埋點(diǎn)粒度控制:

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)
}

服務(wù)端埋點(diǎn)粒度控制:

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")
}

埋點(diǎn)說(shuō)明

基本埋點(diǎn):

  1. RPCStart,(客戶端 / 服務(wù)端)RPC 調(diào)用開(kāi)始
  2. RPCFinish,(客戶端 / 服務(wù)端)RPC 調(diào)用結(jié)束

細(xì)粒度埋點(diǎn)(客戶端):

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

細(xì)粒度埋點(diǎn)(服務(wù)端):

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

WriteFinish,響應(yīng)發(fā)送(含編碼)結(jié)束

時(shí)序圖:

客戶端埋點(diǎn)時(shí)序圖


服務(wù)端埋點(diǎn)時(shí)序圖



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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)