zl程序教程

您现在的位置是:首页 >  其他

当前栏目

golang接入链路追踪

2023-02-26 10:19:44 时间

前言

本文主要讲述golang如何接入开放式链路追踪(opentracing)。

OpenTracing-Go-Plugins介绍

opentracing-go-plugins是一个opentracing-go插件库。
该插件库支持net/http、grpc、gin、goredis、gorm等。

(福利推荐:阿里云、腾讯云、华为云服务器最新限时优惠活动,云服务器1核2G仅88元/年、2核4G仅698元/3年,点击这里立即抢购>>>

如何接入

引入包

go get -u github.com/yuewokeji/opentracing-go-plugins

初始化tracer

我们以jaeger为例,先创建tracer实例,再调用方法opentracing.GlobalTracer()设置一个全局的tracer

package main  import (     "github.com/opentracing/opentracing-go"     "github.com/uber/jaeger-client-go"     "github.com/uber/jaeger-client-go/transport"     "io" )  func initJaeger(service, url string) (opentracing.Tracer, io.Closer) {     sender := transport.NewHTTPTransport(url)     reporter := jaeger.NewRemoteReporter(sender, jaeger.ReporterOptions.Logger(jaeger.StdLogger))      // samples 100% of traces     tracer, closer := jaeger.NewTracer(service, jaeger.NewConstSampler(true), reporter)     return tracer, closer }  func initGlobalTracer() io.Closer {     // the closer can be used in shutdown hooks     tracer, closer := initJaeger("hello-world", "https://your-reporter-url")      opentracing.SetGlobalTracer(tracer)     return closer } 

gin接入

package main  import (     "github.com/gin-gonic/gin"     "github.com/yuewokeji/opentracing-go-plugins/module/otgin" )  func main() {     server := gin.New()     server.Use(otgin.NewMiddleware(server))      //do something } 

net/http客户端接入

package main  import (     "github.com/yuewokeji/opentracing-go-plugins/module/othttp"     "net/http"     "strings" )  func main() {     client := othttp.WrapClient(&http.Client{})     req, err := http.NewRequest("GET", "https://github.com", strings.NewReader(""))     if err != nil {         panic(err)     }      resp, err := client.Do(req)     if err != nil {         panic(err)     }      // do something } 

是不是非常简单!!!

golang接入链路追踪


本站部分内容转载自网络,版权属于原作者所有,如有异议请联系QQ153890879修改或删除,谢谢!
转载请注明原文链接:golang接入链路追踪

你还在原价购买阿里云、腾讯云、华为云、天翼云产品?那就亏大啦!现在申请成为四大品牌云厂商VIP用户,可以3折优惠价购买云服务器等云产品,并且可享四大云服务商产品终身VIP优惠价,还等什么?赶紧点击下面对应链接免费申请VIP客户吧:

1、点击这里立即申请成为腾讯云VIP客户

2、点击这里立即注册成为天翼云VIP客户

3、点击这里立即申请成为华为云VIP客户

4、点击这里立享阿里云产品终身VIP优惠价

喜欢 (0)
[[email protected]]
分享 (0)