Troubleshooting

As applications get more complex, it becomes more complicated to detect and troubleshoot issues those applications encounter. Most current enterprise applications rely on multiple separate components that interact with one another in complicated, and sometimes unpredictable ways, making it harder to identify issues. AppDynamics provides deep diagnostic data about these problems, allowing you to see exactly the state of your application as it runs in real time. Furthermore, AppDynamics provides you with the insight into your applications to detect, troubleshoot, and remediate issues you never knew existed!
Overview
Out of the box, AppDynamics automatically discovers and maps your application topology, showing you the components of the application and their relationships to each other. Automatic baselining examines performance metrics over time to predict normal application performance and default health rules can alert you when performance problems exist. AppDynamics also automatically collects errors not otherwise captured by your application. You can customize the instrumentation of your application, baseline configuration, error detection, and health rules but even before you start customizing AppDynamics can point you towards potential problems that you can easily troubleshoot.

AppDynamics uses a very simple and intuitive way to troubleshoot and diagnose different problems in the application, anywhere from code and SQL level problems all the way to infrastructure and connectivity issues.

The AppDynamics concept of a business transaction enables you to easily troubleshoot and diagnose different issues. A business transaction represents the end-to-end processing path used to fulfill a service request in the monitored environment.  As business transactions execute, AppDynamics captures many individual instances of each business transaction. These are called business transaction snapshots and together with powerful analysis tools they make up the core of Troubleshooting.

While many of the business transactions perform well, in certain cases a slow business transaction may affect customer experience or even cause errors while executing. AppDynamics monitors each business transaction, your application problems can be easily detected and resolved in real time.

For troubleshooting purposes, AppDynamics highlights problematic business transaction snapshots only when encountering outlier issues that occur infrequently or when encountering systemic problems that occur repetitively.  

AppDynamics Application Performance Management (APM) agents automatically instrument your application code in production environments within minutes. These APM agents provide support for a wide variety of languages and frameworks including Java, .Net, Node.js, PHP, and Python. AppDynamics excels at monitoring complex environments that span applications across multiple platforms.

Browser and mobile agents also collect end user monitoring metrics from browser and mobile devices, so you can quickly identify problems that affect application performance before your users become frustrated and leave your site.

Additionally, server and database monitoring agents collect metrics, and AppDynamics extensions bring in metrics from third-party applications and infrastructure components. In troubleshooting unacceptable application response times, you can drill down into AppDynamics Server and Database Monitoring dashboards to address SQL or hardware issues.

AppDynamics is very flexible; for example, you can configure AppDynamics to monitor certain transactions types only, specify thresholds for slow, very slow, and error transactions or SQL calls.

Use AppDynamics Dashboards to see problems at a glance. Color coded icons let you see at a glance when problems exist with the health of business transactions, nodes or servers, SQL queries, and server and network performance. You can set automatic alerts via SMS or email when performance thresholds are exceeded or abnormal application behavior is detected. 

  • Application dashboards: Drill down from the top level view of the entire application through to dashboards of individual tiers and nodes. The Transaction Scorecard on the Application Dashboard shows you transaction performance, health rule violations, configuration changes, and server availability.

  • Business Transaction Dashboard: View key performance indicators such as overall health, and metrics such as response time, calls and errors per minute, CPU usage, and percentage of slow and stalled transactions. Drill down into a specific transaction to view the Transaction Flow Map to see transaction specific performance indicators.

  • Transaction Snapshot Viewer: View the cross-tier processing flow of a transaction and a code-level view of the transaction at each tier where it was processed.

  • Server and Infrastructure Dashboards: View extended hardware, service availability, and infrastructure metrics to see underlying issues impacting your applications.

  • Database Dashboards: View database and database server metrics such as load, response time, number of executions, and disk capacity. Drill down into SQL queries for details such as CPU consumption, disk and buffer usage, wait states, and execution plan details.

  • User Experience: View performance metrics and user data for browser and mobile applications by geography, device type, browser version and other key metrics.

  • Application Analytics: Do real-time analysis of business performance compared to application performance. For example, use transaction, log, browser and mobile, and customer event analytics to find out how many users from which geographical locations left your site because they were frustrated by errors or slow transactions and how much revenue did you lose as a result, and how successful your marketing campaigns were in various geographical locations.

You can use the Slow Response Times and Errors dashboards to drill down into a transaction snapshot of a particularly slow transaction to get to the root of the problem by providing you with information such as the following:

  • Methods in a call stack with information about each call such as the total execution time, the node name, the time stamp for the start of execution, and the unique identifier for the business transaction instance

  • Details of slow method calls including an invocation trace that can indicate the most time consuming calls in the method

  • Database and Remote Service query source and destination, and key performance metrics help you identify slow queries and those that resulted in errors

  • Key performance hardware metrics including processes that consume the most memory and CPU resources

  • Method invocation data or http parameters to see the input for the transaction allowing you to identify which specific order was problematic or which user experienced a slow transaction or one that resulted in error

When investigating a problem, you can use the following AppDynamics features to identify root causes and solve the problem

  • Compare Releases: use the  compare load, response time and errors across multiple releases to look for regressions

  • Scalability Analysis: view response time and CPU utilization against application load for business transaction, applications, and server

  • Correlation Analysis: compare metrics from any part of the Unified Monitoring Platform to identify potential problems with application, hardware, database and networking performance

  • Virtual War Room: collaborate with colleagues by sharing dashboards, streaming metrics and charts, with live chat to get everyone up to speed quickly

  • Metric Browser: implement changes and then compare key performance metrics before and after

  • Alert and Respond: set detail alerts based on those metrics that will warn you if a problem reoccurs and perform automated remediation using Runbook Automation

  • Application Analytics: perform real-time analysis of business performance that is correlated with application performance

Try AppDynamics

Introduction

Out of the box, AppDynamics automatically discovers and maps your application topology, showing you the components of the application and their relationships to each other. Automatic baselining examines performance metrics over time to predict normal application performance and default health rules can alert you when performance problems exist. AppDynamics also automatically collects errors not otherwise captured by your application. You can customize the instrumentation of your application, baseline configuration, error detection, and health rules but even before you start customizing AppDynamics can point you towards potential problems that you can easily troubleshoot.

How AppDynamics detects problems

AppDynamics uses a very simple and intuitive way to troubleshoot and diagnose different problems in the application, anywhere from code and SQL level problems all the way to infrastructure and connectivity issues.

The AppDynamics concept of a business transaction enables you to easily troubleshoot and diagnose different issues. A business transaction represents the end-to-end processing path used to fulfill a service request in the monitored environment.  As business transactions execute, AppDynamics captures many individual instances of each business transaction. These are called business transaction snapshots and together with powerful analysis tools they make up the core of Troubleshooting.

While many of the business transactions perform well, in certain cases a slow business transaction may affect customer experience or even cause errors while executing. AppDynamics monitors each business transaction, your application problems can be easily detected and resolved in real time.

For troubleshooting purposes, AppDynamics highlights problematic business transaction snapshots only when encountering outlier issues that occur infrequently or when encountering systemic problems that occur repetitively.  

What kinds of problems can you troubleshoot

AppDynamics Application Performance Management (APM) agents automatically instrument your application code in production environments within minutes. These APM agents provide support for a wide variety of languages and frameworks including Java, .Net, Node.js, PHP, and Python. AppDynamics excels at monitoring complex environments that span applications across multiple platforms.

Browser and mobile agents also collect end user monitoring metrics from browser and mobile devices, so you can quickly identify problems that affect application performance before your users become frustrated and leave your site.

Additionally, server and database monitoring agents collect metrics, and AppDynamics extensions bring in metrics from third-party applications and infrastructure components. In troubleshooting unacceptable application response times, you can drill down into AppDynamics Server and Database Monitoring dashboards to address SQL or hardware issues.

AppDynamics is very flexible; for example, you can configure AppDynamics to monitor certain transactions types only, specify thresholds for slow, very slow, and error transactions or SQL calls.

How troubleshooting works

Use AppDynamics Dashboards to see problems at a glance. Color coded icons let you see at a glance when problems exist with the health of business transactions, nodes or servers, SQL queries, and server and network performance. You can set automatic alerts via SMS or email when performance thresholds are exceeded or abnormal application behavior is detected. 

In-depth troubleshooting

  • Application dashboards: Drill down from the top level view of the entire application through to dashboards of individual tiers and nodes. The Transaction Scorecard on the Application Dashboard shows you transaction performance, health rule violations, configuration changes, and server availability.

  • Business Transaction Dashboard: View key performance indicators such as overall health, and metrics such as response time, calls and errors per minute, CPU usage, and percentage of slow and stalled transactions. Drill down into a specific transaction to view the Transaction Flow Map to see transaction specific performance indicators.

  • Transaction Snapshot Viewer: View the cross-tier processing flow of a transaction and a code-level view of the transaction at each tier where it was processed.

  • Server and Infrastructure Dashboards: View extended hardware, service availability, and infrastructure metrics to see underlying issues impacting your applications.

  • Database Dashboards: View database and database server metrics such as load, response time, number of executions, and disk capacity. Drill down into SQL queries for details such as CPU consumption, disk and buffer usage, wait states, and execution plan details.

  • User Experience: View performance metrics and user data for browser and mobile applications by geography, device type, browser version and other key metrics.

  • Application Analytics: Do real-time analysis of business performance compared to application performance. For example, use transaction, log, browser and mobile, and customer event analytics to find out how many users from which geographical locations left your site because they were frustrated by errors or slow transactions and how much revenue did you lose as a result, and how successful your marketing campaigns were in various geographical locations.

How to troubleshoot a problem

You can use the Slow Response Times and Errors dashboards to drill down into a transaction snapshot of a particularly slow transaction to get to the root of the problem by providing you with information such as the following:

  • Methods in a call stack with information about each call such as the total execution time, the node name, the time stamp for the start of execution, and the unique identifier for the business transaction instance

  • Details of slow method calls including an invocation trace that can indicate the most time consuming calls in the method

  • Database and Remote Service query source and destination, and key performance metrics help you identify slow queries and those that resulted in errors

  • Key performance hardware metrics including processes that consume the most memory and CPU resources

  • Method invocation data or http parameters to see the input for the transaction allowing you to identify which specific order was problematic or which user experienced a slow transaction or one that resulted in error

Identify root causes and solve problems

When investigating a problem, you can use the following AppDynamics features to identify root causes and solve the problem

  • Compare Releases: use the  compare load, response time and errors across multiple releases to look for regressions

  • Scalability Analysis: view response time and CPU utilization against application load for business transaction, applications, and server

  • Correlation Analysis: compare metrics from any part of the Unified Monitoring Platform to identify potential problems with application, hardware, database and networking performance

  • Virtual War Room: collaborate with colleagues by sharing dashboards, streaming metrics and charts, with live chat to get everyone up to speed quickly

  • Metric Browser: implement changes and then compare key performance metrics before and after

  • Alert and Respond: set detail alerts based on those metrics that will warn you if a problem reoccurs and perform automated remediation using Runbook Automation

  • Application Analytics: perform real-time analysis of business performance that is correlated with application performance

What's next

Try AppDynamics
Getting Started
  1. Install an AppDynamics application agent on your system.

  2. Configure slow transaction thresholds for your instrumented application: Configuration > Slow Transactions.

  3. Observe the Transaction Scorecard graph on the Application Dashboard.

  4. Click Troubleshoot > Slow Response Times to access details about the root causes of your application's slow transaction problems.

Video Thumbnail
Advanced Training
Video Thumbnail
Monitor your application
Video Thumbnail
What is an error?
Video Thumbnail
Troubleshooting Errors