亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么 go-jaeger-client 需要指標和日志的包裝器?

為什么 go-jaeger-client 需要指標和日志的包裝器?

Go
心有法竹 2023-08-07 14:54:38
我開始使用 go-gRPC-middleware 來檢測我的 gRPC 服務。我已經使用 zap 和為 Prometheus 公開的指標來工作日志。現在我嘗試使用 jaeger go 客戶端配置跟蹤,它要求我添加圍繞指標存儲和記錄器的包裝器。我不確定我是否理解為什么需要這些包裝器
查看完整描述

2 回答

?
素胚勾勒不出你

TA貢獻1827條經驗 獲得超9個贊

Jaeger 客戶端被設計為具有最少的依賴關系。我們不知道您的應用程序是否使用 Prometheus 指標或 Zap 記錄器。這就是為什么jaeger-client-go(以及其他語言的許多其他 Jaeger 客戶端)為 Logger 和 MetricsFactory 提供兩個輕量級接口,可以為應用程序正在使用的特定日志/指標后端實現它們。當然,Prometheus 和 Zap 的綁定已經在 中實現jaeger-lib,并且可以選擇包含。



查看完整回答
反對 回復 2023-08-07
?
森林海

TA貢獻2011條經驗 獲得超2個贊

您可以將其綁定到指標和日志記錄框架,但不是必須這樣做。您可以簡單地調用cfg.NewTracer(),如本例所示:


func ExampleFromEnv() {

? ? cfg, err := jaegercfg.FromEnv()

? ? if err != nil {

? ? ? ? // parsing errors might happen here, such as when we get a string where we expect a number

? ? ? ? log.Printf("Could not parse Jaeger env vars: %s", err.Error())

? ? ? ? return

? ? }


? ? tracer, closer, err := cfg.NewTracer()

? ? if err != nil {

? ? ? ? log.Printf("Could not initialize jaeger tracer: %s", err.Error())

? ? ? ? return

? ? }

? ? defer closer.Close()


? ? opentracing.SetGlobalTracer(tracer)

? ? // continue main()

}

查看完整回答
反對 回復 2023-08-07
  • 2 回答
  • 0 關注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號