이동 중에 zipkin 용 opentracing API 구현 인 zipkin-go-opentracing을 사용하고 있습니다.zipkintracer에서 traceId 가져 오기
왜냐하면 (이유) 스팬에서 traceId를 가져와야합니다. 그래서 질문 : 주어진 opentracing.Span, 어떻게 TraceId를 얻을 수 있습니까? 내가 시도한 모든 것은 나에게 일종의 어설 션 오류를 주었다.
덕분에,
이동 중에 zipkin 용 opentracing API 구현 인 zipkin-go-opentracing을 사용하고 있습니다.zipkintracer에서 traceId 가져 오기
왜냐하면 (이유) 스팬에서 traceId를 가져와야합니다. 그래서 질문 : 주어진 opentracing.Span, 어떻게 TraceId를 얻을 수 있습니까? 내가 시도한 모든 것은 나에게 일종의 어설 션 오류를 주었다.
덕분에,
import (
"github.com/opentracing/opentracing-go"
"github.com/openzipkin/zipkin-go-opentracing"
)
func IdFromSpan(aspan interface{}) uint64 {
zspan := aspan.(zipkintracer.Span)
return zspan.Context().TraceID
}
나는이 일을 시도했지만 TraceID 정의되지 않은 오류가 발생했습니다. opentracing에서 컨텍스트를 가져옵니다. –
나는이 그것을 할 올바른 방법입니다 확실하지 않다 그러나 이것은 일반적으로
stdopentracing "github.com/opentracing/opentracing-go"
zipkin "github.com/openzipkin/zipkin-go-opentracing"
[...]
var traceID string
sp := stdopentracing.SpanFromContext(ctx)
if sp != nil {
traceID = sp.Context().(zipkin.SpanContext).TraceID.ToHex()
}
참조 작동한다 http://stackoverflow.com/questions/42699603/ how-can-i-get-a-trace-id-opentracing-api –