Documentation
ΒΆ
Overview ΒΆ
Package otelsarama instruments the github.com/IBM/sarama package.
The consumer's span will be created as a child of the producer's span.
Context propagation only works on Kafka versions higher than 0.11.0.0 which supports record headers. (https://archive.apache.org/dist/kafka/0.11.0.0/RELEASE_NOTES.html)
Based on: https://github.com/DataDog/dd-trace-go/tree/main/contrib/IBM/sarama.v1
Index ΒΆ
- func SemVersion() stringdeprecated
- func Version() string
- func WrapAsyncProducer(saramaConfig *sarama.Config, p sarama.AsyncProducer, opts ...Option) sarama.AsyncProducer
- func WrapConsumer(c sarama.Consumer, opts ...Option) sarama.Consumer
- func WrapConsumerGroupHandler(handler sarama.ConsumerGroupHandler, opts ...Option) sarama.ConsumerGroupHandler
- func WrapPartitionConsumer(pc sarama.PartitionConsumer, opts ...Option) sarama.PartitionConsumer
- func WrapSyncProducer(saramaConfig *sarama.Config, producer sarama.SyncProducer, opts ...Option) sarama.SyncProducer
- type ConsumerMessageCarrier
- type Option
- type ProducerMessageCarrier
Constants ΒΆ
This section is empty.
Variables ΒΆ
This section is empty.
Functions ΒΆ
func SemVersion
deprecated
func Version ΒΆ
func Version() string
Version is the current release version of the sarama instrumentation.
func WrapAsyncProducer ΒΆ
func WrapAsyncProducer(saramaConfig *sarama.Config, p sarama.AsyncProducer, opts ...Option) sarama.AsyncProducer
WrapAsyncProducer wraps a sarama.AsyncProducer so that all produced messages are traced. It requires the underlying sarama Config, so we can know whether or not successes will be returned.
If `Return.Successes` is false, there is no way to know partition and offset of the message.
func WrapConsumer ΒΆ
WrapConsumer wraps a sarama.Consumer wrapping any PartitionConsumer created via Consumer.ConsumePartition.
func WrapConsumerGroupHandler ΒΆ
func WrapConsumerGroupHandler(handler sarama.ConsumerGroupHandler, opts ...Option) sarama.ConsumerGroupHandler
WrapConsumerGroupHandler wraps a sarama.ConsumerGroupHandler causing each received message to be traced.
func WrapPartitionConsumer ΒΆ
func WrapPartitionConsumer(pc sarama.PartitionConsumer, opts ...Option) sarama.PartitionConsumer
WrapPartitionConsumer wraps a sarama.PartitionConsumer causing each received message to be traced.
func WrapSyncProducer ΒΆ
func WrapSyncProducer(saramaConfig *sarama.Config, producer sarama.SyncProducer, opts ...Option) sarama.SyncProducer
WrapSyncProducer wraps a sarama.SyncProducer so that all produced messages are traced.
Types ΒΆ
type ConsumerMessageCarrier ΒΆ
type ConsumerMessageCarrier struct {
// contains filtered or unexported fields
}
ConsumerMessageCarrier injects and extracts traces from a sarama.ConsumerMessage.
func NewConsumerMessageCarrier ΒΆ
func NewConsumerMessageCarrier(msg *sarama.ConsumerMessage) ConsumerMessageCarrier
NewConsumerMessageCarrier creates a new ConsumerMessageCarrier.
func (ConsumerMessageCarrier) Get ΒΆ
func (c ConsumerMessageCarrier) Get(key string) string
Get retrieves a single value for a given key.
func (ConsumerMessageCarrier) Keys ΒΆ
func (c ConsumerMessageCarrier) Keys() []string
Keys returns a slice of all key identifiers in the carrier.
func (ConsumerMessageCarrier) Set ΒΆ
func (c ConsumerMessageCarrier) Set(key, val string)
Set sets a header.
type Option ΒΆ
type Option interface {
// contains filtered or unexported methods
}
Option interface used for setting optional config properties.
func WithPropagators ΒΆ
func WithPropagators(propagators propagation.TextMapPropagator) Option
WithPropagators specifies propagators to use for extracting information from the HTTP requests. If none are specified, global ones will be used.
func WithTracerProvider ΒΆ
func WithTracerProvider(provider trace.TracerProvider) Option
WithTracerProvider specifies a tracer provider to use for creating a tracer. If none is specified, the global provider is used.
type ProducerMessageCarrier ΒΆ
type ProducerMessageCarrier struct {
// contains filtered or unexported fields
}
ProducerMessageCarrier injects and extracts traces from a sarama.ProducerMessage.
func NewProducerMessageCarrier ΒΆ
func NewProducerMessageCarrier(msg *sarama.ProducerMessage) ProducerMessageCarrier
NewProducerMessageCarrier creates a new ProducerMessageCarrier.
func (ProducerMessageCarrier) Get ΒΆ
func (c ProducerMessageCarrier) Get(key string) string
Get retrieves a single value for a given key.
func (ProducerMessageCarrier) Keys ΒΆ
func (c ProducerMessageCarrier) Keys() []string
Keys returns a slice of all key identifiers in the carrier.
func (ProducerMessageCarrier) Set ΒΆ
func (c ProducerMessageCarrier) Set(key, val string)
Set sets a header.