Skip to content

aws-sdk-1.11: remove SqsAdviceBridge living in non-standard javaagent package#18916

Merged
laurit merged 1 commit into
open-telemetry:mainfrom
trask:aws-sdk-1.11-remove-advice-bridge
Jun 8, 2026
Merged

aws-sdk-1.11: remove SqsAdviceBridge living in non-standard javaagent package#18916
laurit merged 1 commit into
open-telemetry:mainfrom
trask:aws-sdk-1.11-remove-advice-bridge

Conversation

@trask

@trask trask commented Jun 5, 2026

Copy link
Copy Markdown
Member

Part of #18428.

SqsAdviceBridge lives in the javaagent module at io.opentelemetry.instrumentation.awssdk.v1_11.SqsAdviceBridge — under the library's package namespace, not the javaagent's standard io.opentelemetry.javaagent.instrumentation.awssdk.v1_11.* — purely so it can call a package-private SqsImpl for muzzle. This is why the package-name checker (#18428) still needs a carveout for this module.

Mirroring the aws-sdk-2.2 layout, the 26 supporting helpers move from …awssdk.v1_11 to …awssdk.v1_11.internal. Six are promoted to public (with the standard internal-use javadoc) so the entry points and javaagent can reach them: AwsSdkInstrumenterFactory, TracingRequestHandler, SqsImpl, SqsReceiveRequest, SqsProcessRequest, PluginImplUtil. The rest stay package-private. SqsAdviceBridge is then deleted and SqsInstrumentationModule.RegisterAdvice references SqsImpl.class directly, so the javaagent no longer ships any source under the library's namespace.

…vice bridge

Mirrors the aws-sdk-2.2 layout: only the public `AwsSdkTelemetry` and `AwsSdkTelemetryBuilder` entry points remain at the top of the library package; the 26 supporting helpers move to the `.internal` subpackage. The classes that need to be reachable from the entry points or from the javaagent are promoted to `public` with the standard internal-use javadoc; the rest stay package-private. The `SqsAdviceBridge` indirection is replaced with a direct `SqsImpl.class.getName()` reference in `SqsInstrumentationModule.RegisterAdvice`, removing the cross-namespace javaagent source that previously lived under `io.opentelemetry.instrumentation.awssdk.v1_11`.
@trask trask changed the title Move aws-sdk-1.11 library internals into .internal package; remove advice bridge aws-sdk-1.11: remove SqsAdviceBridge living in non-standard javaagent package Jun 6, 2026
@trask trask marked this pull request as ready for review June 6, 2026 00:51
@trask trask requested a review from a team as a code owner June 6, 2026 00:51
Copilot AI review requested due to automatic review settings June 6, 2026 00:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR aligns the aws-sdk-1.11 instrumentation with the project’s package/module naming expectations by eliminating a javaagent class that lived under the library namespace, and by relocating supporting library helpers into a dedicated .internal package (mirroring the aws-sdk-2.2 layout). This removes the need for a special-case carveout in the package-name checker tracking work.

Changes:

  • Moved aws-sdk-1.11 library helper classes from io.opentelemetry.instrumentation.awssdk.v1_11 to io.opentelemetry.instrumentation.awssdk.v1_11.internal, promoting a small set to public with “internal-use” Javadoc for cross-module access.
  • Updated the library entrypoint (AwsSdkTelemetry) to reference the relocated internal helpers.
  • Removed SqsAdviceBridge from the javaagent (previously in a non-standard package) and updated SqsInstrumentationModule to reference SqsImpl directly for muzzle purposes.

Reviewed changes

Copilot reviewed 29 out of 29 changed files in this pull request and generated no comments.

Show a summary per file
File Description
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/TracingRequestHandler.java Moved to .internal and made public (with internal-use Javadoc) to support access from entrypoints/agent.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/TracingList.java Package move to .internal for helper isolation.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/TracingIterator.java Package move to .internal for helper isolation.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/SqsReceiveRequestAttributesGetter.java Package move to .internal for helper isolation.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/SqsReceiveRequest.java Package move to .internal and made public (with internal-use Javadoc).
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/SqsProcessRequestAttributesGetter.java Package move to .internal for helper isolation.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/SqsProcessRequest.java Package move to .internal and made public (with internal-use Javadoc).
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/SqsParentContext.java Package move to .internal for helper isolation.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/SqsMessageImpl.java Package move to .internal for helper isolation.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/SqsMessage.java Package move to .internal for helper isolation.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/SqsImpl.java Package move to .internal and made public (with internal-use Javadoc) for javaagent/muzzle access.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/SqsAttributesGetter.java Package move to .internal for helper isolation.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/SqsAccess.java Package move to .internal for helper isolation.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/SnsAttributesExtractor.java Package move to .internal and reduced visibility to match helper-only usage.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/RequestAccess.java Package move to .internal for helper isolation.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/PluginImplUtil.java Package move to .internal and made public (with internal-use Javadoc).
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/HeaderSetter.java Package move to .internal for helper isolation.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/DynamoDbAttributesExtractor.java Package move to .internal for helper isolation.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/AwsSdkSpanNameExtractor.java Package move to .internal for helper isolation.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/AwsSdkRpcAttributesGetter.java Package move to .internal for helper isolation.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/AwsSdkInstrumenterFactory.java Package move to .internal and made public (with internal-use Javadoc) to be reachable from entrypoints/agent.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/AwsSdkHttpAttributesGetter.java Package move to .internal for helper isolation.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/AwsSdkExperimentalAttributesExtractor.java Package move to .internal and updated static imports accordingly.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/AwsSdkAttributesExtractor.java Package move to .internal for helper isolation.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/AwsExperimentalAttributes.java Package move to .internal for helper isolation.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/internal/AbstractSqsRequest.java Package move to .internal for helper isolation.
instrumentation/aws-sdk/aws-sdk-1.11/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/AwsSdkTelemetry.java Updated to import and use helpers from the new .internal package.
instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v1_11/SqsInstrumentationModule.java Replaced SqsAdviceBridge usage with direct SqsImpl reference for muzzle.
instrumentation/aws-sdk/aws-sdk-1.11/javaagent/src/main/java/io/opentelemetry/instrumentation/awssdk/v1_11/SqsAdviceBridge.java Deleted the non-standard javaagent class living under the library namespace.

@laurit laurit merged commit eeb1d4d into open-telemetry:main Jun 8, 2026
95 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants