IBM recently released the IBM Application Performance Diagnostics (APD) Lite product, but what is it? What does it do? How can it help you?
From developerworks: IBM Application Performance Diagnostics (APD) Lite is a powerful yet lightweight tool that can be deployed quickly to help optimize the performance of your WebSphere Application Server and WebSphere Portal applications.
What it does for you?
- Reduces application downtime, faster problem resolution.
- Optimize performance – find bottlenecks in the code.
- Reduce production rollbacks – find problems earlier in lifecycle.
- Install and configure in a matter of minutes, providing immediate value.
- Lightweight enough to run in any environment, even on a developers workstation.
- Powerful enough to diagnose the root cause of issues, not just symptoms.
So, what next?
This is all very well and useful information to know. But what is IBM Application Performance Diagnostics (APD) Lite. In a nutshell it comprises two things and requires no infrastructure.
- A data collector. This collects the data. The same data collector is used in numerous IBM products
- ITCAM for SOA
- ITCAM for WebSphere Applications
- ITCAM for Application Diagnostics
- ITCAM for Transactions
- Tivoli Performance Viewer
- Application Performance Diagnostics Lite
- A client. This displays the data.
- Application Diagnostics Lite Rich Client platform for either Windows or Linux. A standalone APD Lite user interface environment.
- Eclipse plugin. Adds the APD Lite user interface to an existing Eclipse environment.
Installation and configuration of the data collector is very straightforward and is documented comprehensively in the product documentation. Re-configuring the data collector to interface with other products or to make changes will require a restart of the WebSphere JVM.
- Download the data collector for your required operating system.
- Install and configure the data collector as per the product manuals.
Installation of the client is pretty straightforward.
- Download the client code for your operating system.
- Create a directory called CLIENT_HOME e.g. c:\apd_lite or /apd_lite
- Run the apd.exe / apd binary.
Now in our example we installed WebSphere Application Server v8.x including the PlantsbyWebSphere application. We then installed the data collector and configured it to simply talk to Application Performance Diagnostics Lite. We then restarted the WebSphere Application Server instance. Had this been in a Network Deployment we would also be required to restart the Node Agent. A simple check was performed to ensure the application is running by going to http://<mywasserver>:9080/PlantsByWebSphereAjax
Starting the client
On Windows you can create a link to %CLIENT_HOME%\apd.exe. Double click this link to open the Application Diagnostics Lite Rich Client.
Modes of Operation
As discussed previously the data collector collects monitoring information about an application server instance(s) and the application Performance Diagnostics Lite client displays this monitoring information.
As can be seen from the IBM Application Performance Diagnostics Lite Client there are two modes of operation, namely Log File and Server Connection.
- The data collector sends the monitoring data to the client in real time via a JMX connection
- The data collector saves the monitoring information for a certain time period into an offline data file (or log file). The client can then be used to view the log file on any system at a later date.
Viewing Data Real Time via a JMX Connection
Then select Finish. The connection should automatically be established and a performance overview blank screen should be visible.
Now if we exercise the application PlantsByWebSphere, data should start to appear in the APD Lite client. Let us login, buy some plants and checkout for example. As this is collecting data in real time the APD client starts to receive and visualise the data. We will get information in the Performance Overview including a Request Summary, Time Chart, Breakdown Chart and Distribution Chart for each of the request types.
Viewing Data from a Previous Log File
We can save the performance data we have just collected upon stopping
Now we have both a log file connection to load previous data and a server connection to retrieve live data via JMX
Basically this blog aims to show how easy it is to install and retrieve application data into a lite client interface without the requirement of a large infrastructure. The breakdown includes Servlet, EJB, JNDI, JDBC and JCA including Response Time (ms) and CPU (ms). Further detail can be visualised by drilling down inside the pie charts or request summaries. There is also the ability to set thresholds within this user interface. It is a very neat and efficient way of getting application performance diagnostic information out of WebSphere without deploying large scale infrastructures such as ITCAM.
It should be used as a diagnostics tool, for testing and development in anticipation of a large scale deployment of ITCAM for Application Diagnostics or ITCAM for Transactions.
Oh and did I mention, this is part of an IBM Continuous BETA and doesnt require a license, so is essentially free. Not often that happens from IBM.