Documentation ¶
Index ¶
- Constants
- Variables
- func ExtractFromRequest(r *http.Request) (remoteSpanCtx context.Context, err error)
- func InjectToHeader(header http.Header, spanCtx context.Context, span trace.Span) error
- func InjectToMap(m map[string]string, spanCtx context.Context, span trace.Span) error
- func MustSetUp(grpcEndpoint, serviceName string, attributeMap map[string]string, ...)
- func MustSetUpWithHttp(httpEndpoint, serviceName string, attributeMap map[string]string, ...)
- func NewGinMiddleware() (gin.HandlerFunc, error)
- func NewGrpcTracerProvider(endpoint, serviceName string, attributeMap map[string]string, ...) (*trace.TracerProvider, error)
- func NewHttpTracerProvider(endpoint, serviceName string, attributeMap map[string]string, ...) (*trace.TracerProvider, error)deprecated
- func NewRemoteContext(traceIdStr, spanIdStr string) (context.Context, error)
- func SetUp(grpcEndpoint, serviceName string, attributeMap map[string]string, ...) error
- func SetUpWithHttp(httpEndpoint, serviceName string, attributeMap map[string]string, ...) error
- func ShutdownTracerProvider(tp *trace.TracerProvider, timeout time.Duration)
- type JaegerConfig
Constants ¶
const ( // HeaderBaggage 跨服务相关的请求头 HeaderBaggage = "Baggage" KeyTraceId = "trace-id" KeySpanId = "span-id" )
Variables ¶
var ( NotOtelRequestError = errorKit.Newf("not otel request") NotSetupError = errorKit.Newf("haven’t been set up correctly") )
var NewAddConfig func(opts []metric.AddOption) metric.AddConfig = metric.NewAddConfig
var NewMeterConfig func(opts ...metric.MeterOption) metric.MeterConfig = metric.NewMeterConfig
Functions ¶
func ExtractFromRequest ¶ added in v3.0.32
ExtractFromRequest
PS: (1) 适用场景: 跨服务(跨应用通讯) + 接收端 (2) 返回的error != nil的情况下,可以判断是否等于 otelKit.NotOtelRequestError.
func InjectToHeader ¶ added in v3.0.33
InjectToHeader 使用 baggage 写入 trace id 和 span id.
PS: (1) 需要先 set up; (2) 适用场景: 跨服务(跨应用通讯) + 发送端.
func MustSetUp ¶
func MustSetUp(grpcEndpoint, serviceName string, attributeMap map[string]string, opts ...otlptracegrpc.Option)
MustSetUp
@param opts e.g. otlptracegrpc.WithInsecure(), otlptracegrpc.WithDialOption(grpc.WithBlock())
func MustSetUpWithHttp ¶ added in v3.0.29
func MustSetUpWithHttp(httpEndpoint, serviceName string, attributeMap map[string]string, opts ...otlptracehttp.Option)
func NewGinMiddleware ¶
func NewGinMiddleware() (gin.HandlerFunc, error)
NewGinMiddleware
PS: 需要先 SetUp || MustSetUp !!!
func NewGrpcTracerProvider ¶
func NewGrpcTracerProvider(endpoint, serviceName string, attributeMap map[string]string, opts ...otlptracegrpc.Option) (*trace.TracerProvider, error)
NewGrpcTracerProvider
PS: (1) 使用 otlptracegrpc; (2) 此方法第二个返回值为nil的情况下,建议立即调用 otel.SetTracerProvider.
@param endpoint 可以为"",将采用默认值: "localhost:4317" @param serviceName 服务名 @param attributeMap 可以为nil @param opts (1) 额外配置(不要涉及 otlptracegrpc.WithEndpoint,因为在此处配了也没用)
(2) otlptracegrpc.WithInsecure(): (a) 配置的话,将使用非安全协议(http...); (b) 不配置的话,将使用安全协议(https...). (3) 一般情况下,建议使用: otlptracegrpc.WithInsecure(), otlptracegrpc.WithDialOption(grpc.WithBlock())
func NewHttpTracerProvider
deprecated
func NewHttpTracerProvider(endpoint, serviceName string, attributeMap map[string]string, opts ...otlptracehttp.Option) (*trace.TracerProvider, error)
NewHttpTracerProvider
Deprecated: Use NewGrpcTracerProvider instead.
PS: (1) 使用 otlptracehttp; (2) 此方法第二个返回值为nil的情况下,建议立即调用 otel.SetTracerProvider.
@param endpoint 可以为"",将采用默认值: "localhost:4318" @param serviceName 服务名 @param attributeMap 可以为nil @param opts 额外配置(不要涉及 otlptracehttp.WithEndpoint,因为在此处配了也没用) @param opts (1) 额外配置(不要涉及 otlptracegrpc.WithEndpoint,因为在此处配了也没用)
(2) otlptracegrpc.WithInsecure(): (a) 配置的话,将使用非安全协议(http...); (b) 不配置的话,将使用安全协议(https...). (3) 一般情况下,传个 otlptracegrpc.WithInsecure() 就足够了.
func NewRemoteContext ¶
NewRemoteContext TODO:
@param traceIdStr 请求头中,"trace-id"对应的值 @param spanIdStr 请求头中,"span-id"对应的值
func SetUpWithHttp ¶ added in v3.0.29
func ShutdownTracerProvider ¶
func ShutdownTracerProvider(tp *trace.TracerProvider, timeout time.Duration)