Print
en

Powerful Monitoring Features, Low on Overhead

Overhead is the foremost concern for system administrators when they are considering application performance monitoring solutions. Because monitoring solutions which provide granular information about application transactions require “byte-code instrumentation”, increase in overhead while probing the application for errors is unavoidable. At the same time, applications must be monitored at all times in order to maintain the continuity of performance management.

If monitoring features are only turned-on after a service has experienced failure or delay, it cannot be called effective performance management of production environment. Maintaining a fine balance between effective monitoring and managing overhead can be a tricky act; however, there are methods and solutions which can be used to minimize the overhead imposed while monitoring for granular data.

Monitor for Only What Is Important

One way to minimize overhead is obviously to monitor for less data. Typical implementation monitors for all kinds of different data but not all data is necessary in practicing effective APM. JENNIFER collects only data that is absolutely necessary for performance management and troubleshooting errors/exceptions, minimizing total amount of data it needs to collect from all transactions. JENNIFER achieves this by using its own byte-code implementation method, specifically designed to be more efficient and effective for use in application monitoring.

Dynamic Profiling

An effective solution is able to increase and decrease the level of profiling without affecting the services. Profiling is essential in getting down to root-cause of the performance issue at hand since it is the how an APM solution is able to show code level detail. However, profiling directly leads to overhead, thus ability control usage of profiling feature is very important. JENNIFER’s dynamic profiling feature provides the ability to control the level of profiling implemented on application transactions. User can seamlessly increase the profiling level to get the data necessary to troubleshoot performance problem in the shortest time, then immediately decrease the profiling level down to avoid any possible performance problems created by overhead.