otelsarama

package module
v0.0.0-...-9388d9d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 8, 2024 License: Apache-2.0 Imports: 12 Imported by: 27

README ΒΆ

otelsarama

OpenTelemetry Instrumentation for the Sarama Kafka client.

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 ΒΆ

Constants ΒΆ

This section is empty.

Variables ΒΆ

This section is empty.

Functions ΒΆ

func SemVersion deprecated

func SemVersion() string

SemVersion is the semantic version to be supplied to tracer/meter creation.

Deprecated: Use Version instead.

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 ΒΆ

func WrapConsumer(c sarama.Consumer, opts ...Option) sarama.Consumer

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 ΒΆ

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 ΒΆ

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.

Directories ΒΆ

Path Synopsis
example module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL