-
Notifications
You must be signed in to change notification settings - Fork 64
Instrumentation Patch Removal and SPI AWS SDK Test Addition #1120
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Due to change in dependencyManagement otelVersion here, lambda-layer patch file aws-otel-java-instrumentation.patch has been updated. Also, because we removed the instrumentation patch that changed the upstream version.gradle.kts version names here, we need to update lambda-layer patch file opentelemetry-java-instrumentation (which builds off of original patch version) as well. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1120 +/- ##
=============================================
- Coverage 85.71% 67.60% -18.11%
- Complexity 19 500 +481
=============================================
Files 3 53 +50
Lines 49 2584 +2535
Branches 5 348 +343
=============================================
+ Hits 42 1747 +1705
- Misses 3 711 +708
- Partials 4 126 +122 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
This is the final PR for the SPI aws-sdk instrumentation. It removes the opentelemetry-java-instrumentation patch and adds comprehensive unit test coverage for AWS experimental attributes in both AWS SDK v1.11 and v2.2 instrumentation packages. The v2.2 package introduces 29 new experimental attributes while v1.11 adds 23 new experimental attributes. All attributes are now tested through unit tests and/or contract tests.
Description of changes:
AWS SDK v2.2 (awssdk_v2_2)
New attributes being tested:
AWS SDK v1.11 (awssdk_v1_11)
New attributes being tested:
V1.11 is harder to test:
V1.11 uses Java reflection to dynamically find and call methods like getFunctionName() on AWS request objects at runtime. This creates several testing challenges:
Contract tests sidestep these issues by using real AWS SDK objects against LocalStack, testing the complete end-to-end flow including actual reflection behavior without the complexity of mocking Java's reflection system.
Related
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.