<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC] ## 概述 原生 Jaeger 僅支持將數據持久化到 cassandra 和 elasticsearch 中 ## 啟動 jaeger docker `docker run -d -p 6831:6831/udp -p 16686:16686 jaegertracing/all-in-one:latest` UI 界面為 http://127.0.0.1:16686 ## 安裝 jaeger-client-go `go get github.com/uber/jaeger-client-go/...` ## 教程 ### 啟動一個 trace ``` func Init(service string) (opentracing.Tracer, io.Closer) { cfg := &config.Configuration{ ServiceName: service, Sampler: &config.SamplerConfig{ Type: "const", //全部采樣 Param: 1, //1 開啟全部采樣,0 關閉全部采樣,可通過 環境變量 JAEGER_SAMPLER_PARAM 控制 }, Reporter: &config.ReporterConfig{ LogSpans: true, //LocalAgentHostPort: "127.0.0.1:6831", }, } tracer, closer, err := cfg.NewTracer( config.Logger(log.StdLogger))//log.StdLogger 只要實現日志接口即可 if err != nil { panic(fmt.Sprintf("ERROR: cannot init Jaeger: %v\n", err)) } return tracer, closer } //調用 func main(){ //初始化,只能在main 函數中初始化,因為需要 defer tracer, closer := Init("jaeger-demo11") defer closer.Close() //StartspanFromContext創建新span時會用到 opentracing.SetGlobalTracer(tracer) } ``` ### 從全局獲取一個 span ``` //[推薦方案]通過 opentracing 即可全局調用 span := opentracing.StartSpan("no_context") defer span.Finish() //等同于 tracer := opentracing.GlobalTracer() parentSpan := tracer.StartSpan("parent") defer parentSpan.Finish() ``` ### 創建子跨度 ``` parentSpan := opentracing.StartSpan("parent") defer parentSpan.Finish() ... childSpan := opentracing.StartSpan("child",opentracing.ChildOf(parentSpan.Context())) defer childSpan.finish() ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看