22 lines
1.1 KiB
Go
22 lines
1.1 KiB
Go
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package component // import "go.opentelemetry.io/collector/component"
|
|
|
|
// Host represents the entity that is hosting a Component. It is used to allow communication
|
|
// between the Component and its host (normally the service.Collector is the host).
|
|
//
|
|
// Components may require `component.Host` to implement additional interfaces to properly function.
|
|
// The component is expected to cast the `component.Host` to the interface it needs and return
|
|
// an error if the type assertion fails.
|
|
type Host interface {
|
|
// GetExtensions returns the map of extensions. Only enabled and created extensions will be returned.
|
|
// Typically, it is used to find an extension by type or by full config name. Both cases
|
|
// can be done by iterating the returned map. There are typically very few extensions,
|
|
// so there are no performance implications due to iteration.
|
|
//
|
|
// GetExtensions can be called by the component anytime after Component.Start() begins and
|
|
// until Component.Shutdown() ends.
|
|
GetExtensions() map[ID]Component
|
|
}
|