1 回答

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個贊
查看您的代碼,我發(fā)現(xiàn)您在創(chuàng)建跟蹤器時錯過了添加Injector
和選項(xiàng)。Extractor
它應(yīng)該看起來像這樣:
zipkinPropagator?:=?zipkin.NewZipkinB3HTTPHeaderPropagator() tracer,?_,?err?:=?cfg.New( ????????e.ServiceName,?config.Logger(jaeger.StdLogger),?config.ZipkinSharedRPCSpan(true), ????????config.Injector(opentracing.HTTPHeaders,?zipkinPropagator), ????????config.Extractor(opentracing.HTTPHeaders,?zipkinPropagator)) opentracing.SetGlobalTracer(tracer)
ZipkinPropagator
來自github.com/uber/jaeger-client-go/zipkin
包。
您應(yīng)該嘗試一下,ZipkinPropagator
因?yàn)樗呐渲帽绕胀ǖ?code>HTTPHeaderPropagator.?ZipkinPropagator
接收的參數(shù)較少,但靈活性也較差。此外,您收到的錯誤來自該Extract
方法,其類型為opentracing.ErrSpanContextNotFound
。Extract
的方法ZipkinPropagator
不太復(fù)雜,因?yàn)樗鼉H在TraceID
發(fā)送opentracing.ErrSpanContextNotFound
錯誤之前(當(dāng) 時carrier.TraceID()==0
)檢查。
您也可以使用HTTPHeaderPropagator
,但它的設(shè)置稍微復(fù)雜一些,并且方法會檢查除發(fā)送錯誤之前Extract
之外的更多內(nèi)容(檢查和是從 中提取的)。TraceID
opentracing.ErrSpanContextNotFound
debugID
baggage
HeadersConfig
- 1 回答
- 0 關(guān)注
- 140 瀏覽
添加回答
舉報