Documentation
¶
Index ¶
- Constants
- func Discard(serviceName string) (func(context.Context) error, error)
- func Extract(ctx context.Context, carrier map[string]string) context.Context
- func GRPCClientStatsHandler() stats.Handler
- func GRPCServerStatsHandler() stats.Handler
- func GinMiddleware(serviceName string) gin.HandlerFunc
- func Init(cfg *Config) (func(context.Context) error, error)
- func Inject(ctx context.Context, carrier map[string]string)
- func MarkSpanError(span oteltrace.Span, err error)
- func SpanNameMQConsume(destination string) string
- func SpanNameMQPublish(destination string) string
- func StartConsumerSpanFromHeaders(ctx context.Context, tracer oteltrace.Tracer, spanName string, ...) (context.Context, oteltrace.Span)
- func StartProducerSpan(ctx context.Context, tracer oteltrace.Tracer, spanName string, ...) (context.Context, oteltrace.Span, map[string]string)
- type Config
- type MessagingMeta
- type MessagingTraceRelation
Constants ¶
View Source
const ( // Messaging 语义属性键 AttrMessagingSystem = "messaging.system" AttrMessagingDestination = "messaging.destination" AttrMessagingOperation = "messaging.operation" AttrMessagingConsumerGroup = "messaging.consumer.group" )
View Source
const ( // 常见的消息操作 MessagingOperationPublish = "publish" MessagingOperationConsume = "consume" MessagingOperationProcess = "process" )
View Source
const (
// 常见的消息系统
MessagingSystemNATS = "nats"
)
Variables ¶
This section is empty.
Functions ¶
func GRPCClientStatsHandler ¶
GRPCClientStatsHandler 返回一个可重用的 gRPC 客户端状态处理程序用于跟踪
func GRPCServerStatsHandler ¶
GRPCServerStatsHandler 返回一个可重用的 gRPC 服务器状态处理程序用于跟踪
func GinMiddleware ¶
func GinMiddleware(serviceName string) gin.HandlerFunc
GinMiddleware 返回一个可重用的 Gin 跟踪中间件
func MarkSpanError ¶
MarkSpanError 记录并将 Span 标记为错误,当 err 不为 nil 时
func SpanNameMQConsume ¶
SpanNameMQConsume 返回用于从主题/主题消费的标准 Span Name
func SpanNameMQPublish ¶
SpanNameMQPublish 返回用于发布到主题/主题的标准 Span Name
func StartConsumerSpanFromHeaders ¶
func StartConsumerSpanFromHeaders( ctx context.Context, tracer oteltrace.Tracer, spanName string, headers map[string]string, meta MessagingMeta, attrs ...attribute.KeyValue, ) (context.Context, oteltrace.Span)
StartConsumerSpanFromHeaders 从传入的 headers 启动一个标准化的消费者 Span 关系默认是 link,可通过 MessagingMeta.TraceRelation 切换为 child_of
Types ¶
type Config ¶
type Config struct {
ServiceName string `mapstructure:"service_name"`
Endpoint string `mapstructure:"endpoint"`
Sampler float64 `mapstructure:"sampler"`
Batcher string `mapstructure:"batcher"`
Insecure bool `mapstructure:"insecure"`
}
Config 配置
type MessagingMeta ¶
type MessagingMeta struct {
System string
Destination string
Operation string
ConsumerGroup string
// TraceRelation 控制消费端与上游生产端的关系建模方式,默认 link。
TraceRelation MessagingTraceRelation
}
MessagingMeta 描述标准化的消息属性
type MessagingTraceRelation ¶
type MessagingTraceRelation string
MessagingTraceRelation 表示消费者 Span 与上游消息 Span 的关系建模方式
const ( // MessagingTraceRelationLink 使用 Span Link 关联上游(默认,适合异步/批处理/多消费者) MessagingTraceRelationLink MessagingTraceRelation = "link" // MessagingTraceRelationChildOf 使用 parent/child 关系串成单条 Trace(适合端到端演示) MessagingTraceRelationChildOf MessagingTraceRelation = "child_of" )
Click to show internal directories.
Click to hide internal directories.