Getting Started • Getting Involved • Getting In Touch
Vision • Design • Configuration • Monitoring • Performance • Security • Roadmap • Package
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.
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
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:
- 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. - The first release after the release of a new Go minor version
N
will remove support for Go versionN-2
.
Official OpenTelemetry Collector distro binaries may be built with any supported Go version.
See CONTRIBUTING.md.
Triagers (@open-telemetry/collector-triagers):
- Alolita Sharma, AWS
- Punya Biswal, Google
- Steve Flanders, Splunk
Emeritus Triagers:
- Andrew Hsu, Lightstep
Approvers (@open-telemetry/collector-approvers):
- Anthony Mirabella, AWS
- Dmitrii Anoshin, Splunk
- Juraci Paixão Kröhling, Grafana Labs
- Pablo Baeyens, DataDog
Emeritus Approvers:
- James Bebbington, Google
- Jay Camp, Splunk
- Nail Islamov, Google
- Owais Lone, Splunk
- Rahul Patel, Google
- Steven Karis, Splunk
- Yang Song, Google
Maintainers (@open-telemetry/collector-maintainers):
- Alex Boten, Lightstep
- Bogdan Drutu, Splunk
- Tigran Najaryan, Splunk
Emeritus Maintainers:
- Paulo Janotti, Splunk
Learn more about roles in the community repository.
Thanks to all the people who already contributed!