jaegerreceiver

package module
v0.99.0 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2024 License: Apache-2.0 Imports: 40 Imported by: 22

README

Jaeger Receiver

Status
Stability beta: traces
Distributions core, contrib
Issues Open issues Closed issues
Code Owners @yurishkuro

Receives trace data in Jaeger format.

Getting Started

By default, the Jaeger receiver will not serve any protocol. A protocol must be named under the protocols object for the jaeger receiver to start. The below protocols are supported, each supports an optional endpoint object configuration parameter.

  • grpc (default endpoint = 0.0.0.0:14250)
  • thrift_binary (default endpoint = 0.0.0.0:6832)
  • thrift_compact (default endpoint = 0.0.0.0:6831)
  • thrift_http (default endpoint = 0.0.0.0:14268)

The component.UseLocalHostAsDefaultHost feature gate changes these endpoints to localhost:14250, localhost:6832, localhost:6831 and localhost:14268. This will become the default in a future release.

Examples:

receivers:
  jaeger:
    protocols:
      grpc:
  jaeger/withendpoint:
    protocols:
      grpc:
        endpoint: 0.0.0.0:14260

Advanced Configuration

UDP protocols (currently thrift_binary and thrift_compact) allow setting additional server options:

  • queue_size (default 1000) sets max not yet handled requests to server
  • max_packet_size (default 65_000) sets max UDP packet size
  • workers (default 10) sets number of workers consuming the server queue
  • socket_buffer_size (default 0 - no buffer) sets buffer size of connection socket in bytes

Examples:

protocols:
  thrift_binary:
    endpoint: 0.0.0.0:6832
    queue_size: 5_000
    max_packet_size: 131_072
    workers: 50
    socket_buffer_size: 8_388_608

Several helper files are leveraged to provide additional capabilities automatically:

Remote Sampling

Since version v0.61.0, remote sampling is no longer supported by the jaeger receiver. Since version v0.59.0, the jaegerremotesapmpling extension is available that can be used instead.

Documentation

Overview

Package jaegerreceiver receives Jaeger traces.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewFactory

func NewFactory() receiver.Factory

NewFactory creates a new Jaeger receiver factory.

Types

type Config

type Config struct {
	Protocols      `mapstructure:"protocols"`
	RemoteSampling *RemoteSamplingConfig `mapstructure:"remote_sampling"`
}

Config defines configuration for Jaeger receiver.

func (*Config) Unmarshal

func (cfg *Config) Unmarshal(componentParser *confmap.Conf) error

Unmarshal a config.Parser into the config struct.

func (*Config) Validate

func (cfg *Config) Validate() error

Validate checks the receiver configuration is valid

type ProtocolUDP

type ProtocolUDP struct {
	Endpoint        string `mapstructure:"endpoint"`
	ServerConfigUDP `mapstructure:",squash"`
}

ProtocolUDP is the configuration for a UDP protocol.

type Protocols

type Protocols struct {
	GRPC          *configgrpc.ServerConfig `mapstructure:"grpc"`
	ThriftHTTP    *confighttp.ServerConfig `mapstructure:"thrift_http"`
	ThriftBinary  *ProtocolUDP             `mapstructure:"thrift_binary"`
	ThriftCompact *ProtocolUDP             `mapstructure:"thrift_compact"`
}

Protocols is the configuration for the supported protocols.

type RemoteSamplingConfig

type RemoteSamplingConfig struct {
	HostEndpoint               string        `mapstructure:"host_endpoint"`
	StrategyFile               string        `mapstructure:"strategy_file"`
	StrategyFileReloadInterval time.Duration `mapstructure:"strategy_file_reload_interval"`
	configgrpc.ClientConfig    `mapstructure:",squash"`
}

RemoteSamplingConfig defines config key for remote sampling fetch endpoint

type ServerConfigUDP

type ServerConfigUDP struct {
	QueueSize        int `mapstructure:"queue_size"`
	MaxPacketSize    int `mapstructure:"max_packet_size"`
	Workers          int `mapstructure:"workers"`
	SocketBufferSize int `mapstructure:"socket_buffer_size"`
}

ServerConfigUDP is the server configuration for a UDP protocol.

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

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