Question:
How do I troubleshoot the Warning message: [WARN] [IntroscopeAgent.Agent] Cannot load permanent dynamic instrumentation?
Answer:
-First, please verify that you are using a jvm of version 1.5 or higher and are instrumenting your application using the –javaagent switch. Applications using lower versions of java or using –Xbootclasspath switch do not support dynamic instrumentation. For Jboss and Tomcat application servers, java 1.6 or higher is required.
-Second, Open the <Agent Home>\core\config\IntroscopeAgent.profile and verify that the following property is set:
introscope.agent.remoteagentdynamicinstrumentation.enabled=true
-Third, in the IntroscopeAgent.profie, please ensure that DI.pbd has been added to introscope.autoprobe.directivesFile line. This file will likely be referenced in a probe builder list (pbl) specific for your application server. For example, if this directives line read as
introscope.autoprobe.directivesFile=jboss-typical.pbl,hotdeploy,spm.pbl
you want to check <Agent Home>\core\config\ jboss-typical.pbl to ensure DI.pbd is both present and uncommented.
-Forth, verify that Java15DynamicInstrumentation.jar is present in the <Agent Home>\core\ext directory.
- Finally, the Dynamic Instrumentation feature requires two directories to be created. The first is a “derby” directory, that will be created in the <Agent Home>\logs directory. The second is a “dynamic” directory. This directory will be created in the same directory that the IntroscopeAgent.profile is located (<Agent Home>\core\config by default). Please ensure the user id running your application server process has both read and write permissions to both locations.
Additional Information:
Should these steps fail, additional debug logging can be enabled by adding the following lines to Logging Configuration of your <Agent Home>\core\config\IntroscopeAgent.profile and restarting the agent:
log4j.logger.IntroscopeAgent.DynamicInstrumentation.Performance=DEBUG
log4j.logger.IntroscopeAgent.DynamicInstrumentation=DEBUG
log4j.logger.IntroscopeAgent.ADynamicInstrumentationService=DEBUG