Ideas about javaagent-tooling/api changes #2779
Unanswered
mateuszrzeszutek
asked this question in
Q&A
Replies: 2 comments 2 replies
-
+1 for separating internal javaagent code from the one needed by external instrumentations authors |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Recently we've been developing the extension loading mechanism, and thinking about keeping some javaagent instrumentations outside of this repo. Our current javaagent-api/tooling code is a bit messy and contains lots of stuff that we probably shouldn't expose to javaagent instrumentation authors. I had some thoughts about splitting the javaagent modules in a bit different way:
javaagent-bootstrap
: same as before, there's no need to change that;javaagent-advice-api
: previousjavaagent-api
module. This module should contain classes that are supposed to be used in advice code:InstrumentationContext
,CallDepth
etc. Ideally instrumentation specific bootstrap classes (theundertow
package for example) should leave in the instrumentation bootstrap modules (:instrumentation:undertow:bootstrap
). We have a couple ofinternal
classes here, some of them could probably live injavaagent-bootstrap
;javaagent-api
: previousjavaagent-spi
combined with those parts ofjavaagent-tooling
that are supposed to be used by instrumentations that are not kept in this repo (contrib, 3rd party, vendor code):InstrumentationModule
, runtime parts of muzzle, byte buddy matchers etc. No bytecode generation voodoo, this module should be easy on the eyes 😄javaagent-internal
(tooling
?): everything else fromjavaagent-tooling
that's supposed to be used internally by the agent (and not by javaagent instrumentation authors).WDYT?
Beta Was this translation helpful? Give feedback.
All reactions