jaegerremote

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2024 License: Apache-2.0, Apache-2.0 Imports: 16 Imported by: 0

README

jaegerremote

This package contains a temporary fork of the go.opentelemetry.io/contrib/samplers/jaegerremote@v0.5.2 module which is used to work around an issue where importing the OpenTelemetry Collector Jaeger receiver and jaegerremote modules causes a run-time panic.

See open-telemetry/opentelemetry-go-contrib#2981 for tracking the issue that led to the need for this fork.

Documentation

Overview

Package jaegerremote implements the Jaeger Remote protocol.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Option

type Option interface {
	// contains filtered or unexported methods
}

Option applies configuration settings to a Sampler.

func WithInitialSampler

func WithInitialSampler(sampler trace.Sampler) Option

WithInitialSampler creates a Option that sets the initial sampler to use before a remote sampler is created and used.

func WithMaxOperations

func WithMaxOperations(maxOperations int) Option

WithMaxOperations creates a Option that sets the maximum number of operations the sampler will keep track of.

func WithOperationNameLateBinding

func WithOperationNameLateBinding(enable bool) Option

WithOperationNameLateBinding creates a Option that sets the respective field in the perOperationSamplerParams.

func WithSamplingRefreshInterval

func WithSamplingRefreshInterval(samplingRefreshInterval time.Duration) Option

WithSamplingRefreshInterval creates a Option that sets how often the sampler will poll local agent for the appropriate sampling strategy.

func WithSamplingServerURL

func WithSamplingServerURL(samplingServerURL string) Option

WithSamplingServerURL creates a Option that sets the sampling server url of the local agent that contains the sampling strategies.

type Sampler

type Sampler struct {
	sync.RWMutex // used to serialize access to samplerConfig.sampler
	// contains filtered or unexported fields
}

Sampler is a delegating sampler that polls a remote server for the appropriate sampling strategy, constructs a corresponding sampler and delegates to it for sampling decisions.

func New

func New(
	serviceName string,
	opts ...Option,
) *Sampler

New creates a sampler that periodically pulls the sampling strategy from an HTTP sampling server (e.g. jaeger-agent).

func (*Sampler) Close

func (s *Sampler) Close()

Close does a clean shutdown of the sampler, stopping any background go-routines it may have started.

func (*Sampler) Description

func (s *Sampler) Description() string

Description returns a human-readable name for the Sampler.

func (*Sampler) ShouldSample

ShouldSample returns a sampling choice based on the passed sampling parameters.

func (*Sampler) UpdateSampler

func (s *Sampler) UpdateSampler()

UpdateSampler forces the sampler to fetch sampling strategy from backend server. This function is called automatically on a timer, but can also be safely called manually, e.g. from tests.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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