Skip to content

mantian2020/opentelemetry-collector

Repository files navigation


Getting Started   •   Getting Involved   •   Getting In Touch

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

Vision   •   Design   •   Configuration   •   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.) 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
Traces OTLP protocol Stable
OTLP receiver functionality Stable
OTLP receiver configuration Stable
OTLP exporter functionality Stable
OTLP exporter configuration Stable
Metrics OTLP protocol Stable
OTLP receiver functionality Stable
OTLP receiver configuration Stable
OTLP exporter functionality Stable
OTLP exporter configuration Stable
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.

Compatibility

When used as a library, the OpenTelemetry Collector attempts to track the currently supported versions of Go, as defined by the Go team. Removing support for an unsupported Go version is not considered a breaking change.

Starting with the release of Go 1.18, support for Go versions on the OpenTelemetry Collector will be updated as follows:

  1. The first release after the release of a new Go minor version N will add build and tests steps for the new Go minor version.
  2. The first release after the release of a new Go minor version N will remove support for Go version N-2.

Official OpenTelemetry Collector distro binaries may be built with any supported Go version.

Contributing

See the Contributing Guide for details.

Here is a list of community roles with current and previous members:

Learn more about roles in Community membership. In addition to what is described at the organization-level, the SIG Collector requires all core approvers to take part in rotating the role of the release manager.

Thanks to all the people who already contributed!

Packages

No packages published

Languages

  • Go 98.5%
  • Other 1.5%