in v2/tracing.go [36:55]
func NewTracingHandler(next Handler, options ...func(t *TracingHandlerOpts)) HandlerFunc {
t := &TracingHandlerOpts{
spanNameFormat: func(defaultSpanName string, _ *azservicebus.ReceivedMessage) string {
return defaultSpanName
},
}
for _, opt := range options {
opt(t)
}
return func(ctx context.Context, settler MessageSettler, message *azservicebus.ReceivedMessage) {
defaultStartOptions := []trace.SpanStartOption{trace.WithAttributes(shuttleotel.MessageAttributes(message)...)}
startOptions := append(defaultStartOptions, t.spanStartOptions...)
ctx, span := t.tracer().Start(
shuttleotel.Extract(ctx, message),
t.spanNameFormat(defaultReceiverHandleSpanName, message),
startOptions...)
defer span.End()
next.Handle(ctx, settler, message)
}
}