Environment Profile Agents. I consider this as a trump card of CA APM. We have written almost 20-30 customized scripts to monitor non-Java/.Net calls. We have incorporated DB queries, shell scripts, curl scripts into EP agents involving business specific metrics.
Agent customization. Writing custom tracers, although tedious, gives a lot of flexibility when it's required to capture business specific information from the method calls. Interesting use case that we have also involved a work around to monitor asynchronous calls using custom tracers which would otherwise be very difficult to trace.
Customer experience management plugins. CEM plugins are another important supplement to the business appetite when it comes to business transaction data. Basically we have entire HTTP dumps coming onto the system. If one knows how to extract useful information from it, we pretty much get the entire picture of what's happening on the customer side. CEM is also quite handy when JavaScripts are disabled, although these days JavaScript is not blocked anywhere.
Using a combination of CEM plugin and EP agents, we were able to derive business specific metrics like day/hour-wise revenue opportunity, day/hour-wise conversion, and failure along with the reason for failure. So basically, a customer is able to identify that since opening of business hours, how much revenue opportunities came to the application, how many got converted, and how many failed, along with the exact amount each opportunity carried. This is also possible using customized agents, but it becomes difficult when these values are part of an object and not direct arguments or return-type method.
CA APM has a steep learning curve as compared to other tools like Dynatrace and especially AppDynamics and New Relic, but in return it is very customization friendly. You can capture what is important and leave the rest, but it takes time to identify exactly what is important and what's not.
Agents with certain customized applications can increase overhead. This then requires careful analysis and tuning. The probability for this case, though, is 1 in 100.
Stability becomes a issue if it's wrongly configured. Defining incorrect business transactions and irregular use of SQL normalization are common causes of instability.
Scalability is, I think, one of the strongest points of CA APM. You can control individual agents and control the infrastructure requirement at micro level. This reduces the chances of over expenditure of resources for the tool.
We deployed at a customer site where they were using ITCAM. It was incorrectly implemented, was cumbersome to deploy, and was not that efficient in providing deep-dive diagnostics.
Vanilla setup is easy and quick. It's easy to understand, too. Because it has so many customization options available, services generally end up writing customization. This can be simple to complex, but nothing is too complex here.
Thanx Umer for sharing useful review about APM