open-telemetry / open-telemetry/opentelemetry-ruby

Consolidating proto/ and common functions into opentelemetry-common/

Open
#2,170 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Ruby
Stars
606
Forks
301
Avg merge
3d 19h
Merged PRs (30d)
42

Description

Propose to move proto/ and common functions into opentelemetry-common/ so that otlp, otlp-metrics, and otlp-logs exporters
can use the centralized utilities.

  1. Current opentelemetry-proto is v1.10, while our proto is still v1.8.0. Centralizing proto to common avoids managing three separate proto/ folders.
  2. There are common utilities such as prepare_endpoint, prepare_headers, etc. Consolidating them together prevents issues like https://github.com/open-telemetry/opentelemetry-ruby/pull/2158.

Other things to consider:
otlp and otlp-http are confusing—people may check otlp-http rather than otlp, and otlp-http still needs to be updated if other otlp exporters change.

  1. Rename otlp → otlp-trace (similar to otlp-metrics and otlp-logs); if gRPC support is added in the future, consider adding the gRPC exporter inside otlp-trace/.
  2. Add a notice that otlp-http is not maintained and redirect users to otlp.

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 mapping the current proto/ and common utilities such as prepare_endpoint and prepare_headers across opentelemetry-proto, otlp, otlp-metrics, and otlp-logs. Review how otlp and otlp-http are organized and maintained. Done means the consolidation, naming, and maintenance notice decisions are agreed and implemented without duplicated proto or common-function locations.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
backend, distributed-systems
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.