Welcome to the Diagnostics Shootout 2013 at Practical Performance Analyst.
Application Diagnostics is an activity aimed at gaining insight into the behaviour of the application or application container (J2EE or .Net) with the objective of identifying any potential hotspots. One generally uses Application Diagnostics tools to identify application code, application configuration, or infrastructure bottlenecks with the objective of tuning them so as to ensure that Application Business Transaction Response times are within acceptable bounds.
Evolution of Application Diagnostics – Over the last decade Diagnostics tools have gained massive inroads into the enterprise both due to the increase in ease of use, ease of deployment and reduction in overall support and management costs. Traditionally Diagnostics tools have been primarily used by development teams to identify application bottlenecks and tune the code. Over a period of time these Diagnostics tools got smarter and lighter in terms of footprint (in terms of foot print) as a result some of them can even be recommended for use in production environments. Overheads of these tools on application performance are a hotly debated topic however. Our experiences with these tools over the years suggest that some of the best tools out there can impose a performance penalty of 1-5% while some of the older ones are known to impose 10-15% overheads from a performance standpoint. (We recommend that you test things out for yourself before you turn on these tools in your production environment. The profiling overheads will depend upon the level of tracing you’ve enabled for your application.)
If you’ve missed the introduction to the Diagnostics Shootout 2013 please visit the following link – Diagnostics Shootout 2013.
Selection Criteria – As part of this series we will be looking at various Enterprise Application Performance Diagnostics tools. Our criteria for selection of the tools included:
- Support for the latest versions of .Net and J2EE Platforms
- Support for the latest Open Source and Commercial Application Servers i.e. JBOSS, Websphere, Oracle, etc.
- Availability of support from the vendor (if commercial tool) and availability in terms of support from forums in case of an Open Source solution
- Integration with other Application Performance Management tools
One of the other most important aspects though, which we can’t deny is the availability of trial versions of the tool from the vendor websites. Tools like CA Intrascope and the BMC Application Diagnostics simply couldn’t be evaluated since the vendors for those tools didn’t provide versions for purposes of evaluation to websites like ours. We are hopeful that this will change in coming years and vendors will be more open to participating in our yearly shootout at the Practical Performance Analyst. If you are a vendor, are reading this and are keen to participate in the next round of the Diagnostics Shootout please write to us at firstname.lastname@example.org.
This article includes an embedded Video, please scroll to the bottom for more details.
What is App Dynamics all about – In this first part of the series we’ll look at AppDynamics Lite from AppDynamics. You can download AppDynamics Lite from the following link – Download Here. In comparison to the enterprise version the Lite version which we’ve reviewed has limited functionality but this limited functionality doesn’t limit our ability to review the power of the tool and assess its usefulness from a Performance Engineers standpoint. The AppDynamics Lite version in comparison to the enterprise version supports limited amounts of transactions per hour that it can detect and also doesn’t provide a Business Transaction View of performance. While both of these limit our ability to understand the full potential of the tool they aren’t show stoppers as such and give us the ability to preview the power that AppDynamics has to offer as the new breed of Diagnostics tools take the existing monolithic solutions head on.