extensioncapabilities

package module
v0.162.0 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2026 License: Apache-2.0 Imports: 4 Imported by: 9

Documentation

Overview

Package extensioncapabilities provides interfaces that can be implemented by extensions to provide additional capabilities.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConfigSnapshot added in v0.155.0

type ConfigSnapshot interface {
	// Effective returns the Collector's current effective configuration.
	// The returned configuration is owned by the caller.
	Effective() *confmap.Conf

	// Unexpanded returns the Collector's configuration before provider
	// references are expanded and with sensitive fields redacted.
	// The returned configuration is owned by the caller.
	Unexpanded() *confmap.Conf
	// contains filtered or unexported methods
}

ConfigSnapshot provides access to different representations of the Collector's configuration.

func NewConfigSnapshot added in v0.155.0

func NewConfigSnapshot(effective, unexpanded *confmap.Conf) ConfigSnapshot

NewConfigSnapshot creates a ConfigSnapshot from the given configuration representations.

type ConfigSnapshotWatcher added in v0.155.0

type ConfigSnapshotWatcher interface {
	// NotifyConfigSnapshot notifies the extension of the Collector's current
	// configuration. The provided ConfigSnapshot returns configuration instances
	// owned by the extension.
	NotifyConfigSnapshot(ctx context.Context, configSnapshot ConfigSnapshot) error
}

ConfigSnapshotWatcher is an interface that should be implemented by an extension that wishes to be notified of the Collector's configuration.

type Dependent

type Dependent interface {
	extension.Extension
	Dependencies() []component.ID
}

Dependent is an optional interface that can be implemented by extensions that depend on other extensions and must be started only after their dependencies. See https://github.com/open-telemetry/opentelemetry-collector/pull/8768 for examples.

type PipelineWatcher

type PipelineWatcher interface {
	// Ready notifies the Extension that all pipelines were built and the
	// receivers were started, i.e.: the service is ready to receive data
	// (note that it may already have received data when this method is called).
	Ready() error

	// NotReady notifies the Extension that all receivers are about to be stopped,
	// i.e.: pipeline receivers will not accept new data.
	// This is sent before receivers are stopped, so the Extension can take any
	// appropriate actions before that happens.
	NotReady() error
}

PipelineWatcher is an extra interface for Extension hosted by the OpenTelemetry Collector that is to be implemented by extensions interested in changes to pipeline states. Typically this will be used by extensions that change their behavior if data is being ingested or not, e.g.: a k8s readiness probe.

Jump to

Keyboard shortcuts

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