When to use/not useAgentNoRedefNoRetrans.jar classpath

Document ID : KB000013137
Last Modified Date : 30/03/2018
Show Technical Document Details
Introduction:

   This attempts to correct the misunderstanding by some customers on the proper usage
 AgentNoRedefNoRetrans.jar and placement in JVM classpaths. 

Question:

  I am uncertain when to use AgentNoRedefNoRetrans.jar instead of Agent jar. Can you explain this?

 

 

Environment:
All APM 10.x distributed and mainframe environments
Answer:

  The details on why to use AgentNoRedefNoRetrans.jar and how to configure a Websphere Agent are covered in https://docops.ca.com/ca-apm/10-5/en/implementing-agents/java-agent/install-the-java-agent/configure-application-server-to-use-the-java-agent/websphere#WebSphere-ConfigureWebSphereApplicationServertoUsetheJavaAgent

 

Configure WebSphere Application Server to Use the Java Agent

You can configure your WebSphere application server on different JVMs. Use the AgentNoRedefNoRetrans.jar file that deactivates redefinition and retransformation of classes when running the Java agents in IBM JVMs.

Important! IBM 1.6 does not support the agent.jar file. Use the AgentNoRedefNoRetrans.jar file.

Using the AgentNoRedefNoRetrans.jar file has following limitations:

  • Metrics are not reported for system classes (java.*), NIO (Sockets and Datagrams), and SSL sockets because the class redefinition and retransformation functions are deactivated.
  • Instrumentation on sockets reverts to pre-Introscope 9.0.
  • ManagedSocket style remote dynamic instrumentation is disabled.
  • Changes to the PBD files require the instrumented JVM to be restarted before being applied.
  • Deep inheritance and hierarchy support instrumentation features are disabled.
  • Automatic entry point detection is disabled.
  • If you are using the AllAppServer agent distribution with the AgentNoRedefNoRetrans.jar file, the alternate profile is named IntroscopeAgent.websphere.NoRedef.profile.
  • If you have both instrumented and noninstrumented applications on the same computer, include the -Xshareclasses:none setting in the Generic JVM Argument. This setting avoids errors on AIX. A unique directory is required when there is more than one version of WebSphere using the same agent directory.

  • If you use a non-IBM JVM or an IBM JVM version other than 1.5, not all metrics and messages are output.

 

Follow these steps:

  1. Open the WebSphere Administrator Console.
  2. Navigate to Application Servers > your server > Server Infrastructure > Java and Process Management > Process Definition > Java Virtual Machine.
  3. Set the Generic JVM Argument field as follows:

    -javaagent:<PathToAgentJar> -Dcom.wily.introscope.agentProfile=<PathToAgentProfile>

    where the PathToAgentJar and PathToAgentProfile depend upon the JVM in your environment:

    For IBM JVM 1.5 or 1.6, use AgentNoRedefNoRetrans.jar and IntroscopeAgent.NoRedef.profile 
    For all other JVMs including IBM 1.7, use Agent.jar and IntroscopeAgent.profile

    For example, on JVM 1.7 the generic JVM argument field is as follows:

    -javaagent:<Agent_Home>/Agent.jar -Dcom.wily.introscope.agentProfile=<Agent_Home>/core/config/IntroscopeAgent.profile

  4. Restart the WebSphere application server.