实战¶
open-tracing 项目摘录一小段¶
@startuml
namespace github.com\\opentracing\\opentracing_go\\ext {
class rpcServerOption {
clientContext opentracing.SpanContext
}
}
namespace github.com\\opentracing\\opentracing_go {
interface Tracer {
StartSpan(operationName string,opts ... StartSpanOption)Span
Inject(sm SpanContext,format interface { },carrier interface { })error
Extract(format interface { },carrier interface { })(SpanContext,error)
}
}
namespace github.com\\opentracing\\opentracing_go {
interface StartSpanOption {
Apply(*StartSpanOptions)
}
}
namespace github.com\\opentracing\\opentracing_go {
class StartSpanOptions {
References []SpanReference
StartTime time.Time
Tags map[string]interface { }
}
}
github.com\\opentracing\\opentracing_go.StartSpanOptions ---> "*" github.com\\opentracing\\opentracing_go.SpanReference : References
github.com\\opentracing\\opentracing_go.StartSpanOption <|- github.com\\opentracing\\opentracing_go\\ext.rpcServerOption
github.com\\opentracing\\opentracing_go.StartSpanOption <|- github.com\\opentracing\\opentracing_go.SpanReference
github.com\\opentracing\\opentracing_go.StartSpanOption <|- github.com\\opentracing\\opentracing_go.Tag
@enduml