-
Notifications
You must be signed in to change notification settings - Fork 321
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
Fix aws sdk instrumentation #3373
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't immediately see in the dependabot update PR, but I assume there was at least one test failing specifically from the version upgrade?
Yes, the AWS integration tests failed. I also had a stab at adding a test for older versions via |
* 'main' of https://github.com/elastic/apm-agent-java: (35 commits) buildkite: opentelemetry+elastic agent overhead benchmark on a weekly basis (elastic#3371) ci(action): remove unrequired action (elastic#3387) Bump org.springframework.boot:spring-boot-dependencies from 2.7.16 to 3.1.5 (elastic#3380) ci(action): archive benchmarks.jar (elastic#3386) remove noise (elastic#3385) Process otel benchmark (elastic#3384) Update tests for Jedis 5 (elastic#3382) added entry to community plugins (elastic#3383) added capturing s3 otel attributes from lamba S3Event (elastic#3364) Bump version.log4j from 2.12.4 to 2.21.0 (elastic#3366) Fix aws sdk instrumentation (elastic#3373) action: remove leftover from Jenkins (elastic#3368) Bump org.apache.logging.log4j:log4j-bom from 2.20.0 to 2.21.0 (elastic#3367) Bump io.micrometer:micrometer-core from 1.11.4 to 1.11.5 (elastic#3360) Add guard against invalid end timestamps (elastic#3363) Added otel to dependabot config, upgraded dependencies (elastic#3359) Bump version.byte-buddy from 1.14.8 to 1.14.9 (elastic#3361) Fix off-by-one error in tests which effectively disabled recycling validation (elastic#3357) Fix multiple spans being created for HTTPUrlConnection HEAD requests (elastic#3353) Bump org.ow2.asm:asm-tree from 9.5 to 9.6 (elastic#3349) ...
What does this PR do?
Closes #3372 .
The private
clientConfiguration
our instrumentation has been relying on was moved to a superclass, but remained private. Therefore, it is not directly accessible anymore from the Advice code.Instead of trying to access that field reflectively, which can become problematic with Java modules, I've decided to instrument the constructors instead and "remember" the
clientConfiguration
.I've manually checked the source of the oldest
2.x
aws sdk and verified that the constructor accepting theclientConfiguration
was already present there.Checklist
I have added tests that prove my fix is effective or that my feature worksAdded an API method or config option? Document in which version this will be introduced