explaingit

open-telemetry/opentelemetry-collector-contrib

4,654GoAudience · ops devopsComplexity · 4/5LicenseSetup · moderate

TLDR

This is the community extension library for the OpenTelemetry Collector, a middleware tool that collects performance traces, metrics, and logs from your app and routes them to Datadog, Splunk, Honeycomb, or any other analytics platform.

Mindmap

mindmap
  root((otel-contrib))
    What it does
      Collect telemetry
      Process and filter
      Route to platforms
    Tech stack
      Go
      OpenTelemetry
      CNCF
    Component types
      Receivers
      Processors
      Exporters
      Connectors
    Stability levels
      Development
      Alpha
      Beta
      Stable
    Supported platforms
      Datadog
      Splunk
      Honeycomb
      Elastic
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Add a Datadog or Honeycomb exporter to your OpenTelemetry Collector setup to ship traces to your preferred observability platform.

USE CASE 2

Use a contrib processor to filter or transform telemetry data before it leaves your infrastructure.

USE CASE 3

Build a custom lean Collector binary containing only the specific components your stack needs, reducing attack surface and binary size.

USE CASE 4

Ingest logs or metrics from a specific system using a contrib receiver not available in the core Collector.

Tech stack

GoOpenTelemetryCNCF

Getting it running

Difficulty · moderate Time to first run · 1h+

Requires Go build environment, best used with the OTel Collector Builder to avoid shipping the full contrib binary.

Apache 2.0, use freely for any purpose including commercial, keep copyright notices intact.

In plain English

OpenTelemetry is an open-source project that helps software teams collect data about how their applications are behaving in production: things like request traces, performance metrics, and log events. The Collector is the piece that sits between your running software and whatever system you use to store and analyze that data. It receives telemetry, processes it, and ships it onward. This repository, "opentelemetry-collector-contrib", is the community extension warehouse for the Collector. The core Collector repository contains the stable, officially maintained components. This contrib repository is where components live that are either experimental, vendor-specific, or maintained by individual contributors rather than the core team. Examples of things you find here include connectors to specific observability platforms, processors for transforming or filtering data, and receivers that can ingest telemetry from particular systems. Each component in this repository carries a stability label, which can be Development, Alpha, Beta, or Stable. A single component can be at different stability levels for different signal types: for example, it might be Stable for traces but still Alpha for metrics. The README is clear that the contrib maintainers may downgrade or remove components if they are no longer actively maintained. Support for any given component comes either from the broader community of contrib maintainers, or from a specific vendor that contributed and owns that component. The maintainers listed in the README represent engineers from companies including Honeycomb, Elastic, Splunk, Snowflake, Dynatrace, DataDog, and others. Users who want a lean setup are encouraged to build a custom Collector distribution containing only the components they actually need, rather than shipping the full contrib binary. A tool called the OpenTelemetry Collector Builder is provided for that purpose. The repo is part of the larger OpenTelemetry project under the Cloud Native Computing Foundation.

Copy-paste prompts

Prompt 1
How do I add the Datadog exporter from opentelemetry-collector-contrib to my Collector config to forward traces and metrics?
Prompt 2
Show me a Collector config YAML that uses a contrib processor to filter out spans with status OK before exporting.
Prompt 3
How do I use the OpenTelemetry Collector Builder to create a custom distribution with only the receivers and exporters I need?
Prompt 4
Which contrib receiver should I use to ingest Prometheus metrics into the OpenTelemetry Collector pipeline?
Open on GitHub → Explain another repo

← open-telemetry on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.