InfoWorld review: Free Java application performance monitors
Innovative tools from AppDynamics and New Relic make it easier than ever to monitor the performance of complex websitesFollow @peterwayner
AppDynamics has worked hard at simplifying the hefty data that flows into the collection agent. The simplification is generally desirable but can obscure some of the lower layers. For instance, the tool watches for some of the most common architectural idioms like Struts and Spring, but it flags only the first calls to the system. If you're fielding the new requests with servlets or JSPs first, they'll be the only ones watched at the beginning. But the list of entry points discovered automatically can be edited to include anything that you think is worth tracking.
The discovery tool can be eye opening. I forgot my application was making occasional calls to load a piece of XML during configuration, but AppDynamics noticed it going by and added the external source as a server in the application. AppDynamics creates a cute graphic display of the various servers with lines illustrating the flow of data.
This self-discovery of the collection of machines that work together to deliver the information is incredibly valuable. The service emphasizes understanding how these machines work and don't work together, communicating the interactions visually with a picture of the network and the speed of the requests flowing between the machines.
The rest of the main display is given over to the current success or failure of the requests coming into the server. Fast responses get green bars, stalled responses get red bars, and pokey threads get mixed colors.
Underneath the red bars is more information about different methods and database queries that go into assembling the Web page. The time-consuming spots are flagged and easily identifiable.
The free Lite version is useful for many basic tasks, and smaller websites -- and some larger ones, I'm sure -- will be able to get by without paying. But the free tool is ultimately a brochure for the paying ones, and there are ample reasons why even a single-server site might choose to spend.
For instance, the Lite version records data from only the last two hours. If you want to know what happened last night or even while you were gone on a long lunch, you're out of luck. The full Standard version sucks down much more data about memory leaks, deadlocks, and other glitches. It also does a better job of presenting the information by grouping the servers into tiers and "learning" the behavior of the different methods and pages. For example, it will figure out that some distant call is always a bit slow and will stop flagging it with red every day.
Then there's the Cloud edition, named for AppDynamics' big target. The tool monitors instances of the application in virtual or cloud environments and helps with dynamic scaling in response to changes in demand. This will undoubtedly be where most of the development will come in the product over the next few years.
The main page for AppDynamics highlights failing requests and graphs the load and response times. Just drill down for more detail and diagnostics on slow and failed requests.