opentelemetry-collector/receiver
OpenTelemetry Bot c2431f0ec1
[chore] Prepare release v1.32.0/v0.126.0 (#13026)
The following commands were run to prepare this release:
- make chlog-update VERSION=v1.32.0/v0.126.0
- make prepare-release PREVIOUS_VERSION=1[.]31[.]0
RELEASE_CANDIDATE=1.32.0 MODSET=stable
- make prepare-release PREVIOUS_VERSION=0[.]125[.]0
RELEASE_CANDIDATE=0.126.0 MODSET=beta

---------

Co-authored-by: Dmitry Anoshin <anoshindx@gmail.com>
2025-05-13 05:00:49 +00:00
..
internal [chore] Remove dead code from receiver internal (#12581) 2025-03-07 16:45:21 +00:00
nopreceiver [chore] Prepare release v1.32.0/v0.126.0 (#13026) 2025-05-13 05:00:49 +00:00
otlpreceiver [chore] Prepare release v1.32.0/v0.126.0 (#13026) 2025-05-13 05:00:49 +00:00
receiverhelper [chore] Prepare release v1.32.0/v0.126.0 (#13026) 2025-05-13 05:00:49 +00:00
receivertest [chore] Prepare release v1.32.0/v0.126.0 (#13026) 2025-05-13 05:00:49 +00:00
xreceiver [chore] Prepare release v1.32.0/v0.126.0 (#13026) 2025-05-13 05:00:49 +00:00
Makefile split receiver into its own module (#7195) 2023-03-02 12:04:58 -08:00
README.md [chore] Simplify general information in receivers/exporter readme (#9336) 2024-01-22 09:55:32 -08:00
doc.go [chore] Reorganize documentation regarding consumer errors for receiver (#12610) 2025-03-12 11:44:37 +00:00
example_test.go Add documentation example for receiver package (#5675) (#12922) 2025-04-30 10:17:35 +00:00
go.mod [chore] Prepare release v1.32.0/v0.126.0 (#13026) 2025-05-13 05:00:49 +00:00
go.sum Update module google.golang.org/grpc to v1.72.0 (#12902) 2025-04-22 09:01:34 +00:00
package_test.go [chore] remove unused opencensus code (#9108) 2024-01-30 10:19:42 -08:00
receiver.go [chore] prevent unkeyed literal initialization (#12762) 2025-04-15 08:18:07 +00:00
receiver_test.go [chore]: fix testifylint rules (#12791) 2025-04-02 23:10:07 +00:00

README.md

General Information

A receiver is how data gets into the OpenTelemetry Collector. Generally, a receiver accepts data in a specified format, translates it into the internal format and passes it to processors and exporters defined in the applicable pipelines.

This repository hosts the following receiver available in traces, metrics and logs pipelines:

The contrib repository has more receivers available in its builds.

Configuring Receivers

Receivers are configured via YAML under the top-level receivers tag. There must be at least one enabled receiver for a configuration to be considered valid.

The following is a sample configuration for the examplereceiver.

receivers:
  # Receiver 1.
  # <receiver type>:
  examplereceiver:
    # <setting one>: <value one>
    endpoint: 1.2.3.4:8080
    # ...
  # Receiver 2.
  # <receiver type>/<name>:
  examplereceiver/settings:
    # <setting two>: <value two>
    endpoint: 0.0.0.0:9211

A receiver instance is referenced by its full name in other parts of the config, such as in pipelines. A full name consists of the receiver type, '/' and the name appended to the receiver type in the configuration. All receiver full names must be unique.

For the example above:

  • Receiver 1 has full name examplereceiver.
  • Receiver 2 has full name examplereceiver/settings.

Receivers are enabled upon being added to a pipeline. For example:

service:
  pipelines:
    # Valid pipelines are: traces, metrics or logs
    # Trace pipeline 1.
    traces:
      receivers: [examplereceiver, examplereceiver/settings]
      processors: []
      exporters: [exampleexporter]
    # Trace pipeline 2.
    traces/another:
      receivers: [examplereceiver, examplereceiver/settings]
      processors: []
      exporters: [exampleexporter]

At least one receiver must be enabled per pipeline to be a valid configuration.