Agent API Example 1
The following code generates a transaction from client code and retrieves the transaction tree that it generated:
private static void testAddTransaction() throws Exception
{
String request = "http://localhost:8080/examples/servlets/servlet/HelloWorldExample";
TransactionsClient tc = AgentClient.getInstance().getTransactionClient();
tc.installSocketTracker(false);
long start = System.currentTimeMillis();
String response = testMakeRequest(request);
long end = System.currentTimeMillis();
tc.uninstallSocketTracker(false);
String frameId = tc.addClientTransaction("test", new Object[] { request }, response, end - start);
TransactionFrame frame = tc.getTransactionTree(frameId);
System.out.println(frame.isComplete() ? "Yes!" : "No!");
}
The preceding code uses the following utility function, which has nothing to do with the agent but is listed for completeness:
/** Assuming Tomcat is running on localhost:8080 */
private static String testMakeRequest(String url) throws IOException
{
StringBuffer response = new StringBuffer();
HttpURLConnection con = (HttpURLConnection) new URL(url).openConnection();
con.setRequestMethod("GET");
con.setDoOutput(true);
con.setUseCaches(false);
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream()));
for (String line = br.readLine(); line != null; line = br.readLine()) response.append(line);
br.close();
return response.toString();
}
Agent API Example 2
The following code registers a logging VSE callback:
AgentClient.getInstance().addListener(new IAgentEventListener()
{
public void onAgentOffline(final IAgentInfo info) {}
public void onAgentOnline(final IAgentInfo info)
{
AgentClient.getInstance().getVSEClient().registerVSECallback(info, new IVSECallback()
{
public void onFrameRecord(VSEFrame frame) { System.out.println("Recorded: " + frame); }
public VSEFrame onFramePlayback(VSEFrame frame) { System.out.println("Played back: " + frame); return frame; }
public int hashCode() { return 0; }
public boolean equals(Object o) { return o instanceof IVSECallback; }
});
try { AgentClient.getInstance().getVSEClient().startVSERecording(info); } catch (JMSInvocationException e) {}
});
|
Copyright © 2014 CA Technologies.
All rights reserved.
|
|