Back to

package otlpreceiver

Latest Go to latest
Published: Jun 16, 2020 | License: Apache-2.0 | Module:


type Config

type Config struct {
	configmodels.ReceiverSettings `mapstructure:",squash"` // squash ensures fields are correctly decoded in embedded struct

	// Configures the receiver to use TLS.
	// The default value is nil, which will cause the receiver to not use TLS.
	TLSCredentials *configtls.TLSSetting `mapstructure:"tls_credentials, omitempty"`

	// Transport to use: one of tcp or unix, defaults to tcp
	Transport string `mapstructure:"transport"`

	// CorsOrigins are the allowed CORS origins for HTTP/JSON requests to grpc-gateway adapter
	// for the OTLP receiver. See
	// An empty list means that CORS is not enabled at all. A wildcard (*) can be
	// used to match any origin or one or more characters of an origin.
	CorsOrigins []string `mapstructure:"cors_allowed_origins"`

	// Keepalive anchor for all the settings related to keepalive.
	Keepalive *serverParametersAndEnforcementPolicy `mapstructure:"keepalive,omitempty"`

	// MaxRecvMsgSizeMiB sets the maximum size (in MiB) of messages accepted by the server.
	MaxRecvMsgSizeMiB uint64 `mapstructure:"max_recv_msg_size_mib,omitempty"`

	// MaxConcurrentStreams sets the limit on the number of concurrent streams to each ServerTransport.
	// TODO(nilebox): This setting affecting HTTP/2 streams need to be tested
	MaxConcurrentStreams uint32 `mapstructure:"max_concurrent_streams,omitempty"`

Config defines configuration for OTLP receiver.

type Factory

type Factory struct {

Factory is the Factory for receiver.

func (*Factory) CreateDefaultConfig

func (f *Factory) CreateDefaultConfig() configmodels.Receiver

CreateDefaultConfig creates the default configuration for receiver.

func (*Factory) CreateMetricsReceiver

func (f *Factory) CreateMetricsReceiver(
	_ context.Context,
	_ component.ReceiverCreateParams,
	cfg configmodels.Receiver,
	consumer consumer.MetricsConsumer,
) (component.MetricsReceiver, error)

CreateMetricsReceiver creates a metrics receiver based on provided config.

func (*Factory) CreateTraceReceiver

func (f *Factory) CreateTraceReceiver(
	_ context.Context,
	_ component.ReceiverCreateParams,
	cfg configmodels.Receiver,
	nextConsumer consumer.TraceConsumer,
) (component.TraceReceiver, error)

CreateTraceReceiver creates a trace receiver based on provided config.

func (*Factory) CustomUnmarshaler

func (f *Factory) CustomUnmarshaler() component.CustomUnmarshaler

CustomUnmarshaler returns nil because we don't need custom unmarshaling for this config.

func (*Factory) Type

func (f *Factory) Type() configmodels.Type

Type gets the type of the Receiver config created by this Factory.

type Option

type Option interface {
	// contains filtered or unexported methods

Option interface defines for configuration settings to be applied to receivers.

withReceiver applies the configuration to the given receiver.

func WithCorsOrigins

func WithCorsOrigins(origins []string) Option

WithCorsOrigins is an option to specify the allowed origins to enable writing HTTP/JSON requests to the grpc-gateway adapter using CORS.

func WithGRPCServerOptions

func WithGRPCServerOptions(gsOpts ...grpc.ServerOption) Option

WithGRPCServerOptions allows one to specify the options for starting a gRPC server.

func WithNoopOption

func WithNoopOption() Option

WithNoopOption returns an option that doesn't mutate the receiver.

type Receiver

type Receiver struct {
	// contains filtered or unexported fields

Receiver is the type that exposes Trace and Metrics reception.

func New

func New(
	instanceName string,
	transport string,
	addr string,
	tc consumer.TraceConsumer,
	mc consumer.MetricsConsumer,
	opts ...Option,
) (*Receiver, error)

New just creates the OpenTelemetry receiver services. It is the caller's responsibility to invoke the respective Start*Reception methods as well as the various Stop*Reception methods to end it.

func (*Receiver) Shutdown

func (r *Receiver) Shutdown(context.Context) error

Shutdown is a method to turn off receiving.

func (*Receiver) Start

func (r *Receiver) Start(ctx context.Context, host component.Host) error

Start runs the trace receiver on the gRPC server. Currently it also enables the metrics receiver too.

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
f or F : Jump to identifier