opentelemetry-collector/docs
Pablo Baeyens dd957e42b2
[chore][docs/rfc] Amend universal telemetry RFC with proposed implementation for logs (#13609)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description

<!-- Issue number if applicable -->
Amends universal telemetry RFC with proposed implementation for logs
(see #13474 for the implementation).

Notably, we don't log every outcome but instead only log errors. We can
start logging individual outcomes in the future but I feel like this
would not be useful in most cases

#### Link to tracking issue
Updates #13357
2025-08-19 07:53:26 +00:00
..
img [service/internal] Allow components to transition from PermanentError to Stopping (#10958) 2024-12-17 13:02:44 +00:00
rfcs [chore][docs/rfc] Amend universal telemetry RFC with proposed implementation for logs (#13609) 2025-08-19 07:53:26 +00:00
README.md fix typo (#13049) 2025-05-19 08:31:55 +00:00
coding-guidelines.md [chore] Update contributing docs with SemConv compatibility guideline (#13101) 2025-06-02 10:11:55 +00:00
component-stability.md [chore] Document scalability, performance and resiliency requirements for stable components (#12994) 2025-05-12 11:54:44 +00:00
component-status.md [chore] Added spell check (#12671) 2025-03-20 18:53:25 +00:00
ga-roadmap.md [chore] Explicitly note that service and otelcol are not part of 1.0 (#10643) 2024-07-31 10:42:04 +02:00
internal-architecture.md Documentation improvements - Internal Architecture Doc + Package level comments (#10068) 2024-05-20 22:33:02 +02:00
observability.md [docs] Fix links `syslist.go` (#12388) 2025-02-14 15:50:35 +00:00
platform-support.md Add riscv64 arch (#13458) 2025-07-25 08:23:47 +00:00
release.md [chore] rotate releasers (#13639) 2025-08-14 17:48:36 +00:00
scraping-receivers.md [chore] Update contributing docs with SemConv compatibility guideline (#13101) 2025-06-02 10:11:55 +00:00
security-best-practices.md [docs] Remove end-user content from security README (#12002) 2025-01-10 11:20:45 +00:00
standard-warnings.md Add standard warnings for components (#5558) 2022-06-27 09:24:06 -07:00
vision.md [docs] Clean up internal observability docs (#10454) 2024-06-28 10:25:13 +02:00

README.md

OpenTelemetry Collector

Status: Beta

The OpenTelemetry Collector consists of the following components:

These combined provide users the ability to easily switch between OpenTelemetry Collector Distributions while also ensuring that components produced by the OpenTelemetry Collector SIG are able to work with any vendor who claims support for an OpenTelemetry Collector.

Configuration file

An OpenTelemetry Collector configuration file is defined as YAML and MUST support the following minimum structure:

receivers:
processors:
exporters:
connectors:
extensions:
service:
  telemetry:
  pipelines:

OpenTelemetry Collector components

For a library to be considered an OpenTelemetry Collector component, it MUST implement a Component interface defined by the OpenTelemetry Collector SIG.

Components require a unique identifier to be included in an OpenTelemetry Collector. In the event of a name collision, the components resulting in the collision cannot be used simultaneously in a single OpenTelemetry Collector. In order to resolve this, the clashing components must use different identifiers.

Compatibility requirements

A component is defined as compatible with an OpenTelemetry Collector when its dependencies are source- and version-compatible with the Component interfaces of that Collector.

For example, a Collector derived from version tag v0.100.0 of the OpenTelemetry Collector MUST support all components that are version-compatible with the Golang Component API defined in the github.com/open-telemetry/opentelemetry-collector/component module found in that repository for that version tag.

OpenTelemetry Collector Distribution

An OpenTelemetry Collector Distribution (Distro) is a compiled instance of an OpenTelemetry Collector with a specific set of components and features. A Distribution author MAY choose to produce a distribution by utilizing tools and/or documentation supported by the OpenTelemetry project. Alternatively, a Distribution author MUST provide end users with the capability for adding their own components to the Distribution's components. Note that the resulting binary from updating a Distribution to include new components is a different Distribution.