Category Archives: Mobile APM Solutions

APM Requirements on the Java Platform

One of the most common questions circulating throughout the IT industry revolves around what the best application performance management solution is on the current market? Unfortuantely, there’s not a single answer to this question. The only way to determine what the best APM solution for your Java platform may be is to clearly define your system/application requirements. This being noted, there are several qualities the ideal APM solution for your business must contain if your enterprise primarily uses the Java platform.

Low Load (Overhead) Solution

 Generally, nearly every APM solution designed to be used with Java is a single piece of software, typically a JAR file, which is installed into the application. This file is designed to automatically gather various data metrics, which are then sent to the application server where they are processed into contextual information. It’s essential that this APM solution does not require an excess amount of data to execute its operations, as this may severly damage the functionality and performance of your application. While recommendations vary, the general consensus is a 3 percent CPU utilization overhead is acceptable.

JVM Memory Diagnostics and Monitoring

 Perhaps the most important metric you must monitor throughout your Java platform is the JVM Heap, as it determines the memory capacity of an application. If excess memory is utilized, then the dreaded “OutOfMemory” error is displayed, which results in significantly decreased performance, or even complete application stalls. When utilizing an APM solution, make sure the tool monitors:

  • Overall JVM Heap Usage
  • Duration of garbage collections – both major and minor collection actions
  • Frequency of garbage collections
  • Memory Pool Usage, such as: code cache, old gen, eden, survivor and permgen (or metaspace in Java 8+ versions)

The most important element to look for in a Java APM tool is its ability to identify areas of memory “leaks.” An effective APM tool is able to recognize what collection may be leaking memory, which is the first line of defense against the “OutOfMemory” error.

Backend Response Durations

 There are few things that can kill the reputation and conversion rate of a website than slow backend responses. A requirement for any Java APM tool is its ability to automatically monitor backend response times and alert administrators when these response times become too slow. Generally, Java web applications use traditional APIs to access backend resources. An appropriate APM tool identifies each server request and utilizes its diagnostic capabilities to determine where the slowdown is occurring and what steps must be taken to rectify this situation.

In the realm of digital eCommerce, it’s essential that your entire website run as swiftly and efficiently as possible. Even if the response time is only slowed by a few milliseconds, this wait time could result in a lost sale or decreased trust regarding the stability of your enterprise.