Documentation ¶
Index ¶
- func NewClientTransportContext(ctx context.Context, tp Transporter) context.Context
- func NewServerTransportContext(ctx context.Context, tp Transporter) context.Context
- func SetOperation(ctx context.Context, op string)
- func WithClient(opts ...options.Option) middleware.MiddleWare
- func WithPropagator(propagator propagation.TextMapPropagator) options.Option
- func WithServer(opts ...options.Option) middleware.MiddleWare
- func WithTracerProvider(provider trace.TracerProvider) options.Option
- type ClientHandler
- func (c *ClientHandler) HandleConn(ctx context.Context, cs stats.ConnStats)
- func (c *ClientHandler) HandleRPC(ctx context.Context, rs stats.RPCStats)
- func (c *ClientHandler) TagConn(ctx context.Context, cti *stats.ConnTagInfo) context.Context
- func (c *ClientHandler) TagRPC(ctx context.Context, rti *stats.RPCTagInfo) context.Context
- type EndPointer
- type Header
- type Kind
- type Metadata
- type Server
- type Tracer
- type Transport
- type Transporter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewClientTransportContext ¶
func NewClientTransportContext(ctx context.Context, tp Transporter) context.Context
NewClientTransportContext 新建客户端链路上下文
func NewServerTransportContext ¶
func NewServerTransportContext(ctx context.Context, tp Transporter) context.Context
NewServerTransportContext 新建服务端链路上下文
func SetOperation ¶
SetOperation sets the transport operation.
func WithClient ¶
func WithClient(opts ...options.Option) middleware.MiddleWare
WithClient returns a new client middleware for OpenTelemetry.
func WithPropagator ¶
func WithPropagator(propagator propagation.TextMapPropagator) options.Option
WithPropagator with tracer propagator.
func WithServer ¶
func WithServer(opts ...options.Option) middleware.MiddleWare
WithServer returns a new server middleware for OpenTelemetry.
func WithTracerProvider ¶
func WithTracerProvider(provider trace.TracerProvider) options.Option
WithTracerProvider with tracer provider.
Types ¶
type ClientHandler ¶
type ClientHandler struct{}
ClientHandler 客户端追踪
func (*ClientHandler) HandleConn ¶
func (c *ClientHandler) HandleConn(ctx context.Context, cs stats.ConnStats)
HandleConn exists to satisfy gRPC stats.Handler.
func (*ClientHandler) HandleRPC ¶
func (c *ClientHandler) HandleRPC(ctx context.Context, rs stats.RPCStats)
HandleRPC implements per-RPC tracing and stats instrumentation.
func (*ClientHandler) TagConn ¶
func (c *ClientHandler) TagConn(ctx context.Context, cti *stats.ConnTagInfo) context.Context
TagConn exists to satisfy gRPC stats.Handler.
func (*ClientHandler) TagRPC ¶
func (c *ClientHandler) TagRPC(ctx context.Context, rti *stats.RPCTagInfo) context.Context
TagRPC implements per-RPC context management.
type Metadata ¶
type Metadata struct {
Name string
}
func (Metadata) Extract ¶
func (m Metadata) Extract(ctx context.Context, carrier propagation.TextMapCarrier) context.Context
Extract reads cross-cutting concerns from the carrier into a Context.
func (Metadata) Inject ¶
func (m Metadata) Inject(ctx context.Context, carrier propagation.TextMapCarrier)
Inject set cross-cutting concerns from the Context into the carrier.
type Tracer ¶
type Tracer struct {
// contains filtered or unexported fields
}
type Transport ¶
type Transport struct {
// contains filtered or unexported fields
}
Transport is an HTTP transport.
func (*Transport) PathTemplate ¶
PathTemplate returns the http path template.
func (*Transport) RequestHeader ¶
RequestHeader returns the request header.
func (*Transport) ResponseHeader ¶
ResponseHeader returns the reply header.
type Transporter ¶
type Transporter interface { // Kind 返回 KindGRPC or KindHTTP 用于区分协议调用 Kind() Kind // Endpoint // Server Transporter: grpc://127.0.0.1:9000 // Client Transporter: discovery://provider-demo Endpoint() string // Operation protobuf 行为 Operation() string // RequestHeader 返回请求头 RequestHeader() Header // ResponseHeader 返回响应头 ResponseHeader() Header }
Transporter 链路追踪的上下文
func FromClientTransportContext ¶
func FromClientTransportContext(ctx context.Context) (Transporter, bool)
FromClientTransportContext 通过客户端context获取链路信息
func FromServerTransportContext ¶
func FromServerTransportContext(ctx context.Context) (Transporter, bool)
FromServerTransportContext 通过服务端context获取链路信息