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
-
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