jaeger

package
v0.31.0-rc.0 Latest Latest
Warning

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

Go to latest
Published: Feb 24, 2023 License: Apache-2.0 Imports: 19 Imported by: 2

Documentation

Index

Constants

View Source
const (
	SamplerTypeRemote        = "remote"
	SamplerTypeProbabilistic = "probabilistic"
	SamplerTypeConstant      = "const"
	SamplerTypeRateLimiting  = "ratelimiting"
)

Variables

This section is empty.

Functions

func NewTracerProvider added in v0.29.0

func NewTracerProvider(ctx context.Context, logger log.Logger, conf []byte) (*tracesdk.TracerProvider, error)

NewTracerProvider returns a new instance of an OpenTelemetry tracer provider.

Types

type Config

type Config struct {
	ServiceName                        string                   `yaml:"service_name"`
	Disabled                           bool                     `yaml:"disabled"`
	RPCMetrics                         bool                     `yaml:"rpc_metrics"`
	Tags                               string                   `yaml:"tags"`
	SamplerType                        string                   `yaml:"sampler_type"`
	SamplerParam                       float64                  `yaml:"sampler_param"`
	SamplerManagerHostPort             string                   `yaml:"sampler_manager_host_port"`
	SamplerMaxOperations               int                      `yaml:"sampler_max_operations"`
	SamplerRefreshInterval             time.Duration            `yaml:"sampler_refresh_interval"`
	SamplerParentConfig                ParentBasedSamplerConfig `yaml:"sampler_parent_config"`
	SamplingServerURL                  string                   `yaml:"sampling_server_url"`
	OperationNameLateBinding           bool                     `yaml:"operation_name_late_binding"`
	InitialSamplingRate                float64                  `yaml:"initial_sampler_rate"`
	ReporterMaxQueueSize               int                      `yaml:"reporter_max_queue_size"`
	ReporterFlushInterval              time.Duration            `yaml:"reporter_flush_interval"`
	ReporterLogSpans                   bool                     `yaml:"reporter_log_spans"`
	ReporterDisableAttemptReconnecting bool                     `yaml:"reporter_disable_attempt_reconnecting"`
	ReporterAttemptReconnectInterval   time.Duration            `yaml:"reporter_attempt_reconnect_interval"`
	Endpoint                           string                   `yaml:"endpoint"`
	User                               string                   `yaml:"user"`
	Password                           string                   `yaml:"password"`
	AgentHost                          string                   `yaml:"agent_host"`
	AgentPort                          int                      `yaml:"agent_port"`
	Gen128Bit                          bool                     `yaml:"traceid_128bit"`
}

Config - YAML configuration. For details see to https://github.com/jaegertracing/jaeger-client-go#environment-variables.

type ParentBasedSamplerConfig added in v0.29.0

type ParentBasedSamplerConfig struct {
	LocalParentSampled  bool `yaml:"local_parent_sampled"`
	RemoteParentSampled bool `yaml:"remote_parent_sampled"`
}

type RateLimiter added in v0.29.0

type RateLimiter struct {
	// contains filtered or unexported fields
}

func NewRateLimiter added in v0.29.0

func NewRateLimiter(creditsPerSecond, maxBalance float64) *RateLimiter

NewRateLimiter creates a new RateLimiter.

func (*RateLimiter) CheckCredit added in v0.29.0

func (rl *RateLimiter) CheckCredit(itemCost float64) bool

CheckCredit tries to reduce the current balance by itemCost provided that the current balance is not lest than itemCost.

func (*RateLimiter) Update added in v0.29.0

func (rl *RateLimiter) Update(creditsPerSecond, maxBalance float64)

Update changes the main parameters of the rate limiter in-place, while retaining the current accumulated balance (pro-rated to the new maxBalance value). Using this method instead of creating a new rate limiter helps to avoid thundering herd when sampling strategies are updated.

Jump to

Keyboard shortcuts

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