Skip to content

Promote OtelEncodingUtils to io.opentelemetry.api.impl (#6970) - #8929

Open
rooks-ns wants to merge 3 commits into
open-telemetry:mainfrom
rooks-ns:fix/avoid-shared-internal-encoding-utils
Open

rooks-ns wants to merge 3 commits into
open-telemetry:mainfrom
rooks-ns:fix/avoid-shared-internal-encoding-utils

Conversation

@rooks-ns

Copy link
Copy Markdown
Contributor

Part of #6970.

Promotes OtelEncodingUtils from io.opentelemetry.api.internal to io.opentelemetry.api.impl to eliminate cross-artifact internal package sharing across 5 downstream modules, and unexempts opentelemetry-sdk-profiles in NoSharedInternalCodeTest.

Changes

  • OtelEncodingUtils: Moved from io.opentelemetry.api.internal to io.opentelemetry.api.impl in :api:all.
  • Callers: Updated imports in :api:all, :sdk:profiles, :sdk:trace, :exporters:common, :exporters:otlp:common, :exporters:otlp:profiles, and :sdk-extensions:incubator.
  • NoSharedInternalCodeTest: Removed opentelemetry-sdk-profiles from exemptions.

@otelbot otelbot Bot added the api-change Changes to public API surface area label Oct 10, 2026
@otelbot

otelbot Bot commented Oct 10, 2026

Copy link
Copy Markdown
Contributor

⚠️ API changes detected — additional maintainer review required

@jack-berg @jkwatson

This PR modifies the public API surface area of the following module(s):

  • opentelemetry-api

Please review the changes in docs/apidiffs/current_vs_latest/ carefully before approving.

@opentelemetry-pr-dashboard

opentelemetry-pr-dashboard Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Pull request dashboard status

Waiting on maintainers · refreshed 2026-10-19 19:33 UTC

Merge when ready.

Status above doesn't look right?
  • Just replied or pushed? Anything around or after the refresh time above may not be picked up yet — give it a few minutes.
  • Anything look wrong? Report it with what you expected; it helps us improve the dashboard.

@codecov

codecov Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.40%. Comparing base (b32298a) to head (dcb2404).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #8929      +/-   ##
============================================
- Coverage     90.40%   90.40%   -0.01%     
- Complexity    10898    10903       +5     
============================================
  Files          1015     1016       +1     
  Lines         29843    29852       +9     
  Branches       3896     3897       +1     
============================================
+ Hits          26981    26989       +8     
  Misses         1910     1910              
- Partials        952      953       +1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@rooks-ns
rooks-ns marked this pull request as ready for review October 10, 2026 14:33
@rooks-ns
rooks-ns requested a review from a team as a code owner October 10, 2026 14:33
Comment thread api/all/src/main/java/io/opentelemetry/api/impl/OtelEncodingUtils.java Outdated
Comment thread api/all/src/main/java/io/opentelemetry/api/impl/OtelEncodingUtils.java Outdated
@rooks-ns
rooks-ns force-pushed the fix/avoid-shared-internal-encoding-utils branch from 4b98633 to e9759fd Compare October 16, 2026 22:53
- Restrict api.impl to cross-module callers and remove @SInCE
- Retain api.internal for trace primitives
@rooks-ns
rooks-ns force-pushed the fix/avoid-shared-internal-encoding-utils branch from e9759fd to b644804 Compare October 16, 2026 23:16
@rooks-ns
rooks-ns requested a review from jack-berg October 17, 2026 23:34
@jack-berg

Copy link
Copy Markdown
Member

FYI, I pushed a commit to address a few lingering concerns:

  • *.impl.OtelEncodingUtils duplicates the *.internal.OtelEncodingUtils content. Switched to a delegation model.
  • Changed the public class name to Base16EncodingUtils, better reflecting the scope of the APIs and avoiding a situation where we have to use the FQCN when delegating to *.internalOtelEncodingUtils

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api-change Changes to public API surface area

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants