collector

module
v0.39.0 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2021 License: Apache-2.0

README


Getting Started   •   Getting Involved   •   Getting In Touch

Go Report Card Build Status Codecov Status GitHub release (latest by date including pre-releases)

Vision   •   Design   •   Monitoring   •   Performance   •   Security   •   Roadmap   •   Package


OpenTelemetry Icon OpenTelemetry Collector

The OpenTelemetry Collector offers a vendor-agnostic implementation on how to receive, process and export telemetry data. In addition, it removes the need to run, operate and maintain multiple agents/collectors in order to support open-source telemetry data formats (e.g. Jaeger, Prometheus, etc.) sending to multiple open-source or commercial back-ends.

Objectives:

  • Usable: Reasonable default configuration, supports popular protocols, runs and collects out of the box.
  • Performant: Highly stable and performant under varying loads and configurations.
  • Observable: An exemplar of an observable service.
  • Extensible: Customizable without touching the core code.
  • Unified: Single codebase, deployable as an agent or collector with support for traces, metrics and logs.

Status

The collector components and implementation are in different stages of stability, and usually split between functionality and configuration:

Signal Component Status
Trace OTLP protocol Stable
OTLP receiver functionality Stable
OTLP receiver configuration Beta
OTLP exporter functionality Stable
OTLP exporter configuration Beta
Metric OTLP protocol Stable
OTLP receiver functionality Stable
OTLP receiver configuration Beta
OTLP exporter functionality Stable
OTLP exporter configuration Beta
Logs OTLP protocol Beta
OTLP receiver functionality Beta
OTLP receiver configuration Beta
OTLP exporter functionality Beta
OTLP exporter configuration Beta
Common Logging exporter unstable
Batch processor functionality Beta
Batch processor configuration Beta
MemoryLimiter processor functionality Beta
MemoryLimiter processor configuration Beta

We follow the production maturity level defined here

Contributing

See CONTRIBUTING.md.

Triagers (@open-telemetry/collector-triagers):

Approvers (@open-telemetry/collector-approvers):

Maintainers (@open-telemetry/collector-maintainers):

Learn more about roles in the community repository.

Thanks to all the people who already contributed!

Directories

Path Synopsis
Package client contains generic representations of clients connecting to different receivers
Package client contains generic representations of clients connecting to different receivers
cmd
otelcol
Program otelcol is the OpenTelemetry Collector that collects stats and traces and exports to a configured backend.
Program otelcol is the OpenTelemetry Collector that collects stats and traces and exports to a configured backend.
builder Module
checkdoc Module
mdatagen Module
otelcorecol Module
schemagen Module
Package component outlines the components used in the collector and provides a foundation for the component’s creation and termination process.
Package component outlines the components used in the collector and provides a foundation for the component’s creation and termination process.
componenterror
Package componenterror provides helper functions to create and process OpenTelemetry component errors.
Package componenterror provides helper functions to create and process OpenTelemetry component errors.
componenthelper
Package componenthelper assists with the creation of a new component.Component.
Package componenthelper assists with the creation of a new component.Component.
componenttest
Package componenttest define types and functions used to help test packages implementing the component package interfaces.
Package componenttest define types and functions used to help test packages implementing the component package interfaces.
experimental/component
Package component under config/experimental contains types and interfaces that typically live under the "go.opentelemetry.io/collector/component" package but aren't stable yet to be published there.
Package component under config/experimental contains types and interfaces that typically live under the "go.opentelemetry.io/collector/component" package but aren't stable yet to be published there.
Package config defines the data models for entities.
Package config defines the data models for entities.
configauth
Package configauth implements the configuration settings to ensure authentication on incoming requests, and allows exporters to add authentication on outgoing requests.
Package configauth implements the configuration settings to ensure authentication on incoming requests, and allows exporters to add authentication on outgoing requests.
configgrpc
Package configgrpc defines the configuration settings to create a gRPC client and server.
Package configgrpc defines the configuration settings to create a gRPC client and server.
confighttp
Package confighttp defines the configuration settings for creating an HTTP client and server.
Package confighttp defines the configuration settings for creating an HTTP client and server.
confignet
Package confignet implements the configuration settings for protocols to connect and transport data information.
Package confignet implements the configuration settings for protocols to connect and transport data information.
configtelemetry
Package configtelemetry defines various telemetry level for configuration.
Package configtelemetry defines various telemetry level for configuration.
configtest
Package configtest loads the configuration to test packages implementing the config package interfaces.
Package configtest loads the configuration to test packages implementing the config package interfaces.
configtls
Package configtls implements the TLS settings to load and configure TLS clients and servers.
Package configtls implements the TLS settings to load and configure TLS clients and servers.
configunmarshaler
Package configunmarshaler implements configuration unmarshalling from a config.Map.
Package configunmarshaler implements configuration unmarshalling from a config.Map.
experimental/config
Package config under config/experimental contains configuration related types and interfaces that typically live under the "go.opentelemetry.io/collector/config" package but aren't stable yet to be published there.
Package config under config/experimental contains configuration related types and interfaces that typically live under the "go.opentelemetry.io/collector/config" package but aren't stable yet to be published there.
experimental/configsource
Package configsource is an experimental package that defines the interface of "configuration sources," e.g., Vault, ZooKeeper, etcd2, and others.
Package configsource is an experimental package that defines the interface of "configuration sources," e.g., Vault, ZooKeeper, etcd2, and others.
internal/configsource
Package configsource is an internal package that implements methods for injecting, watching, and updating data from ConfigSource into configuration.
Package configsource is an internal package that implements methods for injecting, watching, and updating data from ConfigSource into configuration.
configopaque Module
configretry Module
internal Module
confmap module
connector module
Package consumer contains interfaces that receive and process consumerdata.
Package consumer contains interfaces that receive and process consumerdata.
consumererror
Package consumererror provides wrappers to easily classify errors.
Package consumererror provides wrappers to easily classify errors.
consumerhelper
Package consumerhelper defines types and functions used to create consumer Logs, Metrics, and Traces.
Package consumerhelper defines types and functions used to create consumer Logs, Metrics, and Traces.
consumertest
Package consumertest defines types and functions used to help test packages implementing the consumer package interfaces.
Package consumertest defines types and functions used to help test packages implementing the consumer package interfaces.
examples
demo/app Module
demo/client Module
demo/server Module
Package exporter contains implementations of Exporter components.
Package exporter contains implementations of Exporter components.
exporterhelper
Package exporterhelper provides helper functions for exporters.
Package exporterhelper provides helper functions for exporters.
loggingexporter
Package loggingexporter exports data to console as logs.
Package loggingexporter exports data to console as logs.
otlpexporter
Package otlpexporter exports data by using the OTLP format to a gPRC endpoint.
Package otlpexporter exports data by using the OTLP format to a gPRC endpoint.
otlphttpexporter
Package otlphttpexporter exports data by using the OTLP format to an HTTP endpoint.
Package otlphttpexporter exports data by using the OTLP format to an HTTP endpoint.
debugexporter Module
nopexporter Module
extension module
experimental/storage
Package stanzareceiver implements a receiver that can be used by the Opentelemetry collector to receive logs using the stanza log agent
Package stanzareceiver implements a receiver that can be used by the Opentelemetry collector to receive logs using the stanza log agent
zpagesextension
Package zpagesextension implements an extension that exposes zPages of properly instrumented components.
Package zpagesextension implements an extension that exposes zPages of properly instrumented components.
auth Module
featuregate module
filter module
internal
cgroups
Package cgroups provides utilities to access Linux control group (CGroups) parameters (total memory, for example) for a given process.
Package cgroups provides utilities to access Linux control group (CGroups) parameters (total memory, for example) for a given process.
obsreportconfig/obsmetrics
Package obsmetrics defines the obsreport metrics for each components all the metrics is in OpenCensus format which will be replaced with OTEL Metrics in the future
Package obsmetrics defines the obsreport metrics for each components all the metrics is in OpenCensus format which will be replaced with OTEL Metrics in the future
sharedcomponent
Package sharedcomponent exposes util functionality for receivers and exporters that need to share state between different signal types instances such as net.Listener or os.File.
Package sharedcomponent exposes util functionality for receivers and exporters that need to share state between different signal types instances such as net.Listener or os.File.
tools Module
model module
Package obsreport provides unified and consistent observability signals ( metrics, tracing, etc) for components of the OpenTelemetry collector.
Package obsreport provides unified and consistent observability signals ( metrics, tracing, etc) for components of the OpenTelemetry collector.
otelcol module
pdata module
processor module
memorylimiterprocessor
Package memorylimiterprocessor provides a processor for OpenTelemetry Service pipeline that drops data on the pipeline according to the current state of memory usage.
Package memorylimiterprocessor provides a processor for OpenTelemetry Service pipeline that drops data on the pipeline according to the current state of memory usage.
Package receiver contains implementations of Receiver components.
Package receiver contains implementations of Receiver components.
otlpreceiver
Package otlpreceiver receives data in OTLP format.
Package otlpreceiver receives data in OTLP format.
receiverhelper
Package receiverhelper contains utilities for receivers.
Package receiverhelper contains utilities for receivers.
scrapererror
Package scrapererror provides custom error types for scrapers.
Package scrapererror provides custom error types for scrapers.
scraperhelper
Package scraperhelper provides utilities for scrapers.
Package scraperhelper provides utilities for scrapers.
nopreceiver Module
semconv module
Package service handles the command-line, configuration, and runs the OpenTelemetry Collector.
Package service handles the command-line, configuration, and runs the OpenTelemetry Collector.
defaultcomponents
Package defaultcomponents composes the default set of components used by the otel service
Package defaultcomponents composes the default set of components used by the otel service
internal/builder
Package builder handles the options to build the OpenTelemetry collector pipeline.
Package builder handles the options to build the OpenTelemetry collector pipeline.
internal/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