DX Application Performance Management

Expand all | Collapse all

Dynamic instrumentation not working

Jump to Best Answer
  • 1.  Dynamic instrumentation not working

    Posted 09-30-2014 09:08 AM

    Hi all,

     

    I am using 9.5.5 agent on Unix boxes and enabled the dynamic instrumentation on agent side and have the given the access to the user as per the Document

    IntroscopeAgent.profile:

    introscope.autoprobe.dynamicinstrument.enabled=true (default: false)

    introscope.agent.remoteagentdynamicinstrumentation.enabled=true (default: true)

     

    User is added with the following permission Dynamic_ Instrumentation & Full

    and receiving the following error when i use to see the call methods

    "Failed to retrieve method Information"

     

    and can see the logs in the debug mode :

    IntroscopeAgent.DatabaseQueryDelegate] Initializing Connection manager

    9/29/14 09:26:29 AM EDT [INFO] [IntroscopeAgent.Agent] Agent Connection Manager is initializing

    9/29/14 09:26:29 AM EDT [ERROR] [IntroscopeAgent.DynamicInstrumentation] Unexpected error in Dynamic Instrumentation Invocation

    9/29/14 09:26:36 AM EDT [INFO] [IntroscopeAgent.DatabaseQueryDelegate] Initializing Connection manager

    9/29/14 09:26:36 AM EDT [INFO] [IntroscopeAgent.Agent] Agent Connection Manager is initializing

    9/29/14 09:26:36 AM EDT [ERROR] [IntroscopeAgent.DynamicInstrumentation] Unexpected error in Dynamic Instrumentation Invocation

    9/29/14 09:27:27 AM EDT [INFO] [IntroscopeAgent.DatabaseQueryDelegate] Initializing Connection manager

    9/29/14 09:27:27 AM EDT [INFO] [IntroscopeAgent.Agent] Agent Connection Manager is initializing

    9/29/14 09:27:27 AM EDT [ERROR] [IntroscopeAgent.DynamicInstrumentation] Unexpected error in Dynamic Instrumentation Invocation

     

     

    Please let me know if some one also faced the same issue.

     

     

    Thanks

    GB



  • 2.  Re: Dynamic instrtumentation not working

    Posted 09-30-2014 11:27 AM

    Hi,

     

    Your log snippet contains INFO and ERROR but no DEBUG.  There should be an exception with the Unexpected error.  Can you please double check and see if there is an exception?  If not, please double check that logging is in debug.

     

    Regards,
    Matt



  • 3.  Re: Dynamic instrtumentation not working

    Posted 09-30-2014 11:43 AM

    Hello Matt

     

    Thanks for the quick response

    Below is the options enabled

    Logging Configuration

    #

    # ================

    # Changes to this property take effect immediately and do not require the managed application to be restarted.

    # This property controls both the logging level and the output location.

    # To increase the logging level, set the property to:

    # log4j.logger.IntroscopeAgent=VERBOSE#com.wily.util.feedback.Log4JSeverityLevel, console, logfile

    # To send output to the console only, set the property to:

    # log4j.logger.IntroscopeAgent=INFO, console

    # To send output to the logfile only, set the property to:

    # log4j.logger.IntroscopeAgent=INFO, logfile

     

    log4j.logger.IntroscopeAgent=INFO, DEBUG,console, logfile

     

    # If "logfile" is specified in "log4j.logger.IntroscopeAgent",

    # the location of the log file is configured using the

    # "log4j.appender.logfile.File" property.

    # System properties (Java command line -D options)

    # are expanded as part of the file name.  For example,

    # if Java is started with "-Dmy.property=Server1", then

    # "log4j.appender.logfile.File=../../logs/Introscope-${my.property}.log"

    # is expanded to:

    # "log4j.appender.logfile.File=../../logs/Introscope-Server1.log".

     

    log4j.appender.logfile.File=../../logs/IntroscopeAgent.log



  • 4.  Re: Dynamic instrtumentation not working

    Posted 09-30-2014 11:47 AM

    Hi,

     

    I think I see what is throwing it off.  Below I have placed a strikethrough on INFO.  Please remove INFO and save and exit the file.  This is a hotconfig property so no restart required.  Then wait for the error to pop up and you should see DEBUG logging (this will also include INFO logging as well as DEBUG is a higher level than INFO but includes INFO.)

     

    log4j.logger.IntroscopeAgent=INFO, DEBUG,console, logfile

     

    Regards,
    Matt



  • 5.  Re: Dynamic instrtumentation not working
    Best Answer

    Posted 09-30-2014 03:05 PM

    Yes enabling Debug should give more information about what error is happening.

    Second these two properties are controlling different functionality and work independently

    #introscope.autoprobe.dynamicinstrument.enabled=true

    Allows pbd changes to be applied without restart of application Server

    introscope.agent.remoteagentdynamicinstrumentation.enabled=false

    Allows workstation driven instrumentation via Transaction Trace session where you can remotely determine additional methods called from probed code and subsequently add instrumentation to them automatically/

     

    If same scenario is working for other users\transactions on same application server then likely it's a runtime issue, i.e required code is not compatible for Remote Dynamic Instrumentation and not much can be done. If it doesn't work at all then it could be a configuration issue on Agent side or application\JRE compatibility issue. On configuration side make sure below is done(from Java Agent Guide):

     

    "CA Introscope® stores a dynamic instrumentation cache on the application server host computer. For dynamic instrumentation to work, the user account which the application server uses to run must have write access to the <Agent_Home> and <Agent_Home>/logs directories on the application server host computer."

     

    There is also a known issue

    Dynamic instrumentation with JBoss or Tomcat app servers using Java 5 not supported - 58986

    Symptom:

    CA APM does not support Dynamic Instrumentation with JBoss or Tomcat application servers using Java 5 (1.5.x).

    If the startup class (WebAppSupport.jar) is configured, Dynamic Instrumentation is automatically disabled on these application servers, even if the introscope.agent.remoteagentdynamicinstrumentation.enabled property is set to true.

    If Dynamic Instrumentation is not disabled and the WebAppSupport.jar is not configured, erratic behavior can result while using Tomcat or Jboss with Java 5.

    Solution:

    Dynamic instrumentation works on JBoss or Tomcat with Java 6.

     

    Hope it helps.

    -Kulbir

    CA Support.



  • 6.  Re: Dynamic instrtumentation not working

    Posted 10-01-2014 04:41 AM

    Hello Kulbir,

     

     

    Thanks for the help I need to see the call methods and want to do the instrumentation through Workstation.

    I will send you the updated logs.

     

     

    Thanks

    GB