otlpreceiver

package
v0.0.0-...-36e2831 Latest Latest
Warning

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

Go to latest
Published: Jan 27, 2023 License: Apache-2.0 Imports: 34 Imported by: 1

README

OTLP Receiver

Status
Stability traces stable
metrics stable
logs beta
Supported pipeline types traces, metrics, logs
Distributions core, contrib

Receives data via gRPC or HTTP using OTLP format.

Getting Started

All that is required to enable the OTLP receiver is to include it in the receiver definitions. A protocol can be disabled by simply not specifying it in the list of protocols.

receivers:
  otlp:
    protocols:
      grpc:
      http:

The following settings are configurable:

Advanced Configuration

Several helper files are leveraged to provide additional capabilities automatically:

Writing with HTTP/JSON

The OTLP receiver can receive trace export calls via HTTP/JSON in addition to gRPC. The HTTP/JSON address is the same as gRPC as the protocol is recognized and processed accordingly. Note the serialization format needs to be protobuf JSON.

To write traces with HTTP/JSON, POST to [address]/v1/traces for traces, to [address]/v1/metrics for metrics, to [address]/v1/logs for logs. The default port is 4318.

CORS (Cross-origin resource sharing)

The HTTP/JSON endpoint can also optionally configure CORS under cors:. Specify what origins (or wildcard patterns) to allow requests from as allowed_origins. To allow additional request headers outside of the default safelist, set allowed_headers. Browsers can be instructed to cache responses to preflight requests by setting max_age.

receivers:
  otlp:
    protocols:
      http:
        endpoint: "localhost:4318"
        cors:
          allowed_origins:
            - http://test.com
            # Origins can have wildcards with *, use * by itself to match any origin.
            - https://*.example.com
          allowed_headers:
            - Example-Header
          max_age: 7200

Documentation

Overview

Package otlpreceiver receives data in OTLP format.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewFactory

func NewFactory() receiver.Factory

NewFactory creates a new OTLP receiver factory.

Types

type ArrowSettings

type ArrowSettings struct {
	Enabled bool `mapstructure:"enabled"`
}

ArrowSettings

type Config

type Config struct {
	// Protocols is the configuration for the supported protocols, currently gRPC and HTTP (Proto and JSON).
	Protocols `mapstructure:"protocols"`
}

Config defines configuration for OTLP receiver.

func (*Config) Unmarshal

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

Unmarshal a confmap.Conf into the config struct.

func (*Config) Validate

func (cfg *Config) Validate() error

Validate checks the receiver configuration is valid

type Protocols

type Protocols struct {
	GRPC  *configgrpc.GRPCServerSettings `mapstructure:"grpc"`
	HTTP  *confighttp.HTTPServerSettings `mapstructure:"http"`
	Arrow *ArrowSettings                 `mapstructure:"arrow"`
}

Protocols is the configuration for the supported protocols.

Directories

Path Synopsis
internal
arrow/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.

Jump to

Keyboard shortcuts

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