open-telemetry / open-telemetry/opentelemetry-java-instrumentation

Change convention for encoding version into package name

Open
#932 7 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
2.6k
Forks
1.2k
Avg merge
2d 16h
Merged PRs (30d)
214

Description

Currently we only encode the version into the package name when there is more than one version, e.g.

  • io.opentelemetry.auto.instrumentation.apachehttpclient.v2_0
  • io.opentelemetry.auto.instrumentation.apachehttpclient.v4_0

but we don't encode the version if there is only one version, e.g.

  • io.opentelemetry.auto.instrumentation.apachehttpasyncclient

The idea was that the package names weren't public, so we could change them later if/when we needed a second version.

With the introduction of library instrumentation now, these package names are public, so i think makes sense to change our convention and always encode the version into the package name (for both library and auto instrumentation package names, to keep them similar).

EDIT: this way, if we need to support a new version later, we don't have to add the version to the old package name at that time.

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

The issue names package conventions for Apache HTTP client instrumentation but does not identify files or tests. Start by locating the library and auto-instrumentation package declarations, then inventory versions that currently omit or include suffixes. Done means both library and auto-instrumentation package names consistently encode their supported version without breaking the stated convention.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
devtools
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.