open-telemetry / open-telemetry/weaver

Semantic Convention-Driven Collector Configuration Generator

Open
#832 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
486
Forks
108
Avg merge
3d 4h
Merged PRs (30d)
40

Description

Develop an OpenTelemetry Collector configuration generator that automatically produces pipelines, processors, and extensions based on OpenTelemetry Semantic Conventions (defined in YAML/JSON schemas). This ensures that telemetry data adheres to semantic standards without manual configuration.

The OpenTelemetry Semantic Conventions define standardized attributes for traces, metrics, and logs. However, manually configuring the Collector to enforce these conventions is error-prone and time-consuming.

By analyzing the Semantic Convention Registry from opentelemetry-specification

  • Auto-generate attribute processors (e.g., renaming, enriching, or dropping non-compliant attributes)
  • Detect required resources (e.g., service.name)
  • Optimize pipelines for signals (traces, metrics, logs)
  • Validate configurations against semantic rules

Why

  • Eliminates manual errors in attribute mapping
  • Ensures compliance with semantic conventions
  • Reduces boilerplate in Collector setups
  • Works with existing OTel tooling (Weaver, Collector Builder)

Proposed Solution
A CLI tool / library that:

  • Parses Semantic Convention YAMLs
  • Generates OTel Collector configs with:
  • Attribute processors (insert/update/drop attributes)
  • Resource detection
  • Signal-specific optimizations
  • Outputs a valid config.yaml with semantic enforcement

Flow:

  • Input: Semantic convention YAMLs (from spec repo)
  • Processing:
    • Extract required attributes
    • Map to OTel processor rules

Output: A working Collector config
Image

Since Weaver already processes semantic conventions, we can extend it to:

Export Collector Config Fragments

weaver generate collector-config --output otelcol.yaml

Validate Existing Configs

weaver validate-config --file otelcol.yaml

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing how Weaver currently processes the Semantic Convention Registry from opentelemetry-specification. Clarify the proposed weaver generate collector-config and weaver validate-config entry points, then define the required attributes, processor rules, signal pipelines, and validation behavior. Done means producing a valid otelcol.yaml and validating existing Collector configurations.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli, observability
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.