Skip to content
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

Document class loader implications of sharing instrumentation classes and multiple library dependencies #4286

Closed
trask opened this issue Oct 4, 2021 · 0 comments · Fixed by #6227
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@trask
Copy link
Member

trask commented Oct 4, 2021

This is a tricky area that has come up a couple of times recently. I think it would be helpful to document somewhere to make sure we have a shared understanding of the issue(s) and solution(s).

e.g.

#4236 (comment):

I think that it might be better to put KafkaClientsConsumerProcessTracing into a bootstrap module as when kafka-clients and kafka-streams are in different class loaders they would each get their own copy of that class. The same applies to KafkaConsumerIterableWrapper and KafkaConsumerIteratorWrapper that are used from other instrumentations, probably should have a KafkaWrapper interface in bootstrap module.

#3718 (comment):

My understanding is that doesn't really work when 2 modules are in different class loaders. Muzzle will fail on spring-web because instrumentation uses classes from spring-webmvc hence they can't be in the same InstrumentationModule.

@trask trask added the enhancement New feature or request label Oct 4, 2021
@mateuszrzeszutek mateuszrzeszutek added the documentation Improvements or additions to documentation label Oct 4, 2021
@mateuszrzeszutek mateuszrzeszutek self-assigned this Jun 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
2 participants