See #15777 (comment)
Use Cases
Use cases to disable a module:
- agent: problems inherent in using bytecode instrumentation
- native instrumentation: comment from @trask I'm not sure that's an important use case outside of the Java agent (which needs it due to it being zero code, and due to the problems inherent in using bytecode instrumentation)
- spring starter: does not have bytecode, but startup time is important - and users expect to be able to disable modules
What else can be done:
Design
Note:
Agent
distribution:
javaagent:
instrumentation:
default_enabled: true
disabled:
- dropwizard
enabled: # used if default_enabled=false
- dropwizard
Spring Starter
same, but use spring_starter as distro name.
Native Instrumentation
It might also be good to give native instrumentations the ability to no-op quickly, but they can already tracer/instrument/logger isEnabled and we want to see if that is sufficient.
See #15777 (comment)
Use Cases
Use cases to disable a module:
What else can be done:
Design
Note:
.instrumentation.java.agentnode to.distribution.java_agent#15800)Agent
Spring Starter
same, but use
spring_starteras distro name.Native Instrumentation
It might also be good to give native instrumentations the ability to no-op quickly, but they can already tracer/instrument/logger isEnabled and we want to see if that is sufficient.