Welcome!

PowerBuilder Authors: Chris Pollach, Yeshim Deniz, Jayaram Krishnaswamy, Kevin Benedict, Avi Rosenthal

Related Topics: @DevOpsSummit, Java IoT, @CloudExpo

@DevOpsSummit: Blog Feed Post

Application Analytics By @AppDynamics | @DevOpsSummit [#APM #DevOps]

How you can build better apps and write better code leveraging APM and Analytics

Rapid Troubleshooting of Gradually Degrading Apps with Application Analytics
by Maneesh Joshi

In my last blog post, I made a case for the powerful combo of APM and Analytics that you shouldn’t miss out on. Today, I’m going to explain what I mean by that with an example on how you can build better apps and write better code leveraging this powerful combination.

There is a common misperception that the only way a developer can write better code is by running profilers and by painstakingly collecting every call graph of their application to learn how its code is actually behaving. Cutting edge developers have started using application performance management (APM) to understand code performance and identify bottlenecks. The problem with both these approaches is that this often results into testing just the happy-path of your code. Negative or failure testing will catch exception scenarios but that is rarely coupled with stress testing scenarios. Rarely do testers test combine the two (negative and stress) to uncover scenarios that develop over time with cumulative or sequential failures.

Any DevOps professional will attest to the fact that no test plan can replicate the actual action that happens in the production system. DevOps can spend hours, if not days, attempting to reproduce scenarios for debugging and resolving issues. In today’s fast changing application environments where dev → test → prod cycles are getting shorter and faster, application behavior in production environments is where the proverbial rubber meets the road. And developers and testers are willing to give an arm and a leg to gain insights into their production apps without introducing large overhead.

There is a better way…
Application Analytics
in conjunction with APM can provide you perspectives that ensure production readiness earlier in the development cycle.

A decent APM tool will alert you that a certain set of transactions are not performing per expectations. A great APM tool will go a step further and provide you automatically captured snapshots with detailed call graphs to help you better investigate that particular transaction. In some cases the challenge is to not only determine the symptoms of how performance is degrading, but also how the user journey, or series of steps that resulted into the problem. An easy view of the cumulative set of preceding activities that resulted into this condition can prove very beneficial. This is where an analytics solution that captures performance and business data of every transaction over the life of the application will come to your rescue. It will help you easily string together a series of related and seemingly unrelated transactions and analyze the cumulative impact on application performance. This multidimensional view on your application performance and behavior can prove to be priceless particularly in today’s day and age of fast moving, agile development methodologies.

A couple of simple and easy to relate to code bugs would be thread contention, thread exhaustion, or connection handle leaks. The symptoms of these issues don’t show up for each transaction but can accumulate over time to create devastating results. For instance, if a DB connection handle is not returned back to the connection pool in some corner case erroneous condition, the pool may get exhausted to result into poor performance or complete stalls. An APM solution will alert you that threads are waiting on getting a connection out of the connection pool and hence performance has slowed down or stalled.

Troubleshooting with an analytics-based approach
Let’s walk through an example and then watch my colleague Steve Sturtevant demonstrate the solution using both AppDynamics APM and AppDynamics Application Analytics.

Wrapping up, you’ll see that the combo of APM and Analytics can be a very powerful one, especially in today’s fast moving world of DevOps.

For more information on how AppDynamics Application Analytics solution can help you run your software and your business better, download this white paper today.

The post Rapid troubleshooting of gradually degrading apps with Application Analytics appeared first on Application Performance Monitoring Blog from AppDynamics.

Read the original blog entry...

More Stories By AppDynamics Blog

In high-production environments where release cycles are measured in hours or minutes — not days or weeks — there's little room for mistakes and no room for confusion. Everyone has to understand what's happening, in real time, and have the means to do whatever is necessary to keep applications up and running optimally.

DevOps is a high-stakes world, but done well, it delivers the agility and performance to significantly impact business competitiveness.