DevTest Java Agent - Installation - General

Document ID : KB000075064
Last Modified Date : 05/04/2018
Show Technical Document Details
Introduction:

The DevTest Java Agent is a piece of technology that can be installed inside a Java application, including Java EE containers. The agent enables DevTest to control and monitor server-side activities.

The agent can do what most profilers do: monitor loaded classes/objects, CPU usage, memory usage, threads, track method calls, and so on. However, the agent works across multiple Java virtual machines and is used with DevTest to bring unique features to testing.

In particular, the agent provides visibility into the behind the scenes actions of an application. This capability can help identify bugs and bottlenecks. The agent also supports CA Service Virtualization. The agent enables record and replay of traffic and method calls across multiple protocols. 

More specifically, the DevTest agent's startup parameters are added to the Java application's command line parameters.
The agent's code instrument the application at  both the JVM and class level. Allowing the agent to capture JVM statistics and class level messaging.
 

Background:
Currently DevTest has two types of agents:
  • Java Agents - the pure java agent is highly recommended
  • CICS/LPAR Agents - for mainframe virtualization
This document covers only the Java Agents.
Environment:
All supported DevTest environments
Instructions:
Requirement to install the DevTest Java Agent:
  • Supported Applications: The agent works with most Java applications but only a few applications are supported. A supported application means it has been fully tested and should work without issues. An unsupported application indicates little or no testing has been performed. However, most unsupported applications work with little effort. An unsupported application becomes a "Best Effort" on the part of CA Support and Development.
  • Other Java Agents: Only one DevTest Agent can be installed in an application. Other vendors agents may or may not work with the DevTest Agents. The way any Java agents works will sometimes force the agents to complete against each other. If you need to install agents from another vendor, please list the DevTest agent first on the command line.
  • Memory: The agent captures transactions from several protocols and sends this information to the DevTest broker. As a result it is common for the application to require a little more memory. Use the -Xmx java command line parameter to set the heap size.
  • Agent Jars: There are three agents jars required to install the DevTest Agent. InsightAgent.jar, LisaAgent.jar and LisaAgent2.jar.  Note: InsightAgent.jar and LisaAgent2.jar are almost identical files. The only difference is the way the jars are compiled. Most applications will reference InsightAgent.jar but some application prefer LisaAgent2.jar (see below).
  • Agent Jars Location: The three jar files can be placed in any directory anywhere on the machine running the application. However, the directory must be located outside the application's classpath. 
  • Agent Jar Directory: The directory must have read and write permission for the user that starts the application. The DevTest agent will write a new log file every time the application is restarted.
  • Agent Names: The DevTest java agent must have a unique name (see below). The unique name is used for communication with the broker. If two or more agents have the same name, communication will break down and errors will occur. 
Java Agent Startup Parameters: Some application start using a script and some have a User Interface for setup parameters. Please consult the DevTest documentation for specific installation instructions. However, they all have the same basic format.
-javaagent:<path to agent jars>=name=<agent_name>,url=<broker_url>
Where:
-javaagent: At startup, tells the Java JVM this is a special kind of jar and will act as a Java Agent.
<path to agent jars>: Fully qualified path to the agent jar files. Example: "C:\DevTest_Agents\InsightAgent.jar"
<agent_name>​: A unique name for this agent. Usually the name includes information about the machine or application where the agent is running.
<broker_url>: Connection information to the DevTest Broker. Examples: tcp://192.168.1.1:2009 or ssl://localhost:2009   The port is the port the broker is listening on and must be open for two way communication.

Environment Not Supported:
*********************************
  • Open JDK  all versions
  • Java Scripting environments such as Node.js

 
Additional Information:
We highly recommend opening a support ticket the first time an agent is installed.
We can walk you through the process and handle issues if they arise.