service

package
v0.53.0 Latest Latest
Warning

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

Go to latest
Published: Jun 8, 2022 License: Apache-2.0 Imports: 52 Imported by: 55

Documentation

Overview

Package service handles the command-line, configuration, and runs the OpenTelemetry Collector.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCommand added in v0.36.0

func NewCommand(set CollectorSettings) *cobra.Command

NewCommand constructs a new cobra.Command using the given CollectorSettings.

Types

type Collector added in v0.29.0

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

Collector represents a server providing the OpenTelemetry Collector service.

func New

func New(set CollectorSettings) (*Collector, error)

New creates and returns a new instance of Collector.

func (*Collector) GetLogger added in v0.29.0

func (col *Collector) GetLogger() *zap.Logger

GetLogger returns logger used by the Collector. Deprecated: [v0.52.0] Collector owns telemetry lifecycle and accessing this func in different moments has undefined behavior. If you need access to telemetry components (logger, trace provider, etc.) create an extension.

func (*Collector) GetState added in v0.40.0

func (col *Collector) GetState() State

GetState returns current state of the collector server.

func (*Collector) Run added in v0.29.0

func (col *Collector) Run(ctx context.Context) error

Run starts the collector according to the given configuration given, and waits for it to complete. Consecutive calls to Run are not allowed, Run shouldn't be called once a collector is shut down.

func (*Collector) Shutdown added in v0.29.0

func (col *Collector) Shutdown()

Shutdown shuts down the collector server.

type CollectorSettings added in v0.29.0

type CollectorSettings struct {
	// Factories component factories.
	Factories component.Factories

	// BuildInfo provides collector start information.
	BuildInfo component.BuildInfo

	// DisableGracefulShutdown disables the automatic graceful shutdown
	// of the collector on SIGINT or SIGTERM.
	// Users who want to handle signals themselves can disable this behavior
	// and manually handle the signals to shutdown the collector.
	DisableGracefulShutdown bool

	// ConfigProvider provides the service configuration.
	// If the provider watches for configuration change, collector may reload the new configuration upon changes.
	ConfigProvider ConfigProvider

	// LoggingOptions provides a way to change behavior of zap logging.
	LoggingOptions []zap.Option

	// SkipSettingGRPCLogger avoids setting the grpc logger
	SkipSettingGRPCLogger bool
	// contains filtered or unexported fields
}

CollectorSettings holds configuration for creating a new Collector.

type Config added in v0.52.0

type Config = config.Config

type ConfigProvider added in v0.42.0

type ConfigProvider interface {
	// Get returns the service configuration, or error otherwise.
	//
	// Should never be called concurrently with itself, Watch or Shutdown.
	Get(ctx context.Context, factories component.Factories) (*Config, error)

	// Watch blocks until any configuration change was detected or an unrecoverable error
	// happened during monitoring the configuration changes.
	//
	// Error is nil if the configuration is changed and needs to be re-fetched. Any non-nil
	// error indicates that there was a problem with watching the config changes.
	//
	// Should never be called concurrently with itself or Get.
	Watch() <-chan error

	// Shutdown signals that the provider is no longer in use and the that should close
	// and release any resources that it may have created.
	//
	// This function must terminate the Watch channel.
	//
	// Should never be called concurrently with itself or Get.
	Shutdown(ctx context.Context) error
}

ConfigProvider provides the service configuration.

The typical usage is the following:

cfgProvider.Get(...)
cfgProvider.Watch() // wait for an event.
cfgProvider.Get(...)
cfgProvider.Watch() // wait for an event.
// repeat Get/Watch cycle until it is time to shut down the Collector process.
cfgProvider.Shutdown()

func NewConfigProvider added in v0.42.0

func NewConfigProvider(set ConfigProviderSettings) (ConfigProvider, error)

NewConfigProvider returns a new ConfigProvider that provides the service configuration: * Initially it resolves the "configuration map":

  • Retrieve the confmap.Conf by merging all retrieved maps from the given `locations` in order.
  • Then applies all the confmap.Converter in the given order.

* Then unmarshalls the confmap.Conf into the service Config.

type ConfigProviderSettings added in v0.49.0

type ConfigProviderSettings struct {
	// Locations from where the confmap.Conf is retrieved, and merged in the given order.
	// It is required to have at least one location.
	Locations []string

	// MapProviders is a map of pairs <scheme, confmap.Provider>.
	// It is required to have at least one confmap.Provider.
	MapProviders map[string]confmap.Provider

	// MapConverters is a slice of cconfmap.Converter.
	MapConverters []confmap.Converter
}

ConfigProviderSettings are the settings to configure the behavior of the ConfigProvider. TODO: embed confmap.ResolverSettings into this to avoid duplicates.

type ConfigService added in v0.52.0

type ConfigService = config.Service

type ConfigServicePipeline added in v0.52.0

type ConfigServicePipeline = config.Pipeline

type ConfigServiceTelemetry added in v0.52.0

type ConfigServiceTelemetry = config.ServiceTelemetry

type ConfigServiceTelemetryLogs added in v0.52.0

type ConfigServiceTelemetryLogs = config.ServiceTelemetryLogs

type ConfigServiceTelemetryMetrics added in v0.52.0

type ConfigServiceTelemetryMetrics = config.ServiceTelemetryMetrics

type State

type State int

State defines Collector's state.

const (
	Starting State = iota
	Running
	Closing
	Closed
)

func (State) String added in v0.46.0

func (s State) String() string

Directories

Path Synopsis
builder
Package builder handles the options to build the OpenTelemetry collector pipeline.
Package builder handles the options to build the OpenTelemetry collector pipeline.
fanoutconsumer
Package fanoutconsumer contains implementations of Traces/Metrics/Logs consumers that fan out the data to multiple other consumers.
Package fanoutconsumer contains implementations of Traces/Metrics/Logs consumers that fan out the data to multiple other consumers.

Jump to

Keyboard shortcuts

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