Professional Documents
Culture Documents
APM212 Lab - Troubleshooting Basics - Student Lab Guide
APM212 Lab - Troubleshooting Basics - Student Lab Guide
Basics
Notice
Copyright
This document and all information and content contained herein are protected by U.S.
copyright and other intellectual property laws, and are the confidential information of
AppDynamics, LLC. No part of this document may be reproduced, distributed or
displayed in any form or by any means, or used to make any derivative work (such as a
translation or adaptation), without prior written permission from AppDynamics, LLC.
Lab Preparation
1. In the MovieZtream application, navigate to the Admin > Server Management
page.
2. From the Command drop-down list, select Errors and then click Start Load
Command or Process.
Note: The Errors load triggers a problem with movie rental requests from this point
forward.
3. Verify that you see the confirmation message in the Log window.
Scenario
Because the /customer/rent.htm transaction is business critical, the Dev team
monitors this transaction closely. When errors begin to appear on this transaction in the
Controller, the Dev team asks if it is possible to view calls both before and after the
error. How can you provide this?
You need to run a diagnostic session to capture full call graph snapshots.
Instructions
1. In the Controller UI, from the left navigation pane, click Business Transactions to
navigate to the Business Transactions page.
2. Right-click the /customer/rent.htm BT and select Start Diagnostic Session.
3. Configure the session to collect transaction snapshots for 10 minutes at a rate of 10
snapshots per minute, then click the Start Diagnostic Session button.
4. After approximately two minutes, navigate to the /customer/rent.htm dashboard,
and select the Transaction Snapshots tab.
5. Click the Diagnostic Sessions sub-tab.
6. Below Type, expand the Manual session to view a list of newly collected snapshots
with full call graphs.
Please let your instructor know that you have completed the exercise(s).
If you ran the Exercise 1 Load in Lab 211-1 today you may skip the lab preparation
steps and go directly to the Instructions section. Otherwise, follow the steps below.
1. In the MovieZtream application, navigate to the Admin > Server Management
page.
2. From the Command drop-down list, select Exercise 1 Load and then click Start
Load Command or Process.
Note: The Exercise 1 Load triggers higher response times for the
/movieztream_ui/login.htm BT.
3. Verify that you see the confirmation message in the Log window.
Instructions
1. In the Controller UI, from the left navigation pane, click Troubleshoot, then click
Slow Response Times.
2. Verify that the Slow Transactions tab is selected on the Slow Response Times
Dashboard.
3. Set the Time Range drop-down to display data for the last 2 hours.
4. Type search into the search field so that the Slow Transaction Snapshots list
displays only /movie/search.htm snapshots.
5. Locate and double-click a very slow transaction snapshot for /movie/search.htm
that contains a full call graph.
Note: You can recognize a full call graph snapshot by the blue call graph icon: . If
no snapshots with full call graphs are available, double-click one with a partial call
graph, which is indicated by a grey call graph icon.
6. On the Overview tab, review the Flow Map.
7. Use the performance details on the Flow Map to determine the following:
a. How many monitored tiers does this request traverse? ________
b. How many back-ends are there? ________
c. On what tier does this BT spend the most time during the request? ________
8. Click the Drill Down button above the tier that displays the most time.
Instructions
1. In the Controller UI, from the left navigation pane, click Business Transactions.
2. On the Business Transactions page, double-click /movieztream_ui/login.htm.
3. Verify that the Time Range drop-down displays data for the last 2 hours.
4. Click the Transaction Snapshots tab, then click the Slow and Error Transactions
sub-tab.
5. Scroll through the list of snapshots to locate a snapshot that contains the full call
graph details for all of its constituent tiers.
6. Double-click a full call graph snapshot in the list to display transaction details for that
snapshot, including a Flow Map on the Overview tab.
7. Review the performance details on the Flow Map and use the numbers beside the
tiers to determine the following:
On what tier does the BT spend the most time during this request? _______
8. Click the Drill Down button above that tier to display the call graph.
9. Use the information in the Time, Percent %, and Thread State columns to
determine whether the problem with the /movieztream_ui/login.htm BT relates to a
systems fault or a code issue.
10. Select the method from the list that displays the most time, then click the Details
button.
11. Review the details in the pop-up and make a note of the Class and Method name.
__________________________
Note: These are useful details should you need to escalate the issue to a member of
the app dev, network, or database team to troubleshoot.
12. In the MovieZtream application, navigate to the Admin > Server Management
page.
13. From the Command drop-down list, select Exercise 4 Load and then click Start
Load Command or Process.
Note: The Exercise 4 Load load stops the Exercise 1 Load.
14. Verify that you see the confirmation message in the Log window.
Please let your instructor know that you have completed the exercise(s).
Scenario
Someone on your team reports that there are more errors than usual on the
customer/rent.htm BT. This is the BT that reflects the performance of the Customers
> Rent Movies page of the MovieZtream application. It is your job to find the root
cause of the issue before customers call in to complain. What do you do? You need to
access the error snapshots to troubleshoot the root cause of the issue.
Instructions
1. In the Controller UI, from the left navigation pane, click Troubleshoot > Errors to
navigate to the Errors page.
2. On the Error Transactions tab, below Error Transaction Snapshots, click Filters.
3. Click the Add Criteria button and select Business Transactions.
4. Click the Business Transactions: Not Specified drop-down.
5. In the Available column, select the /customer/rent.htm BT and click the arrow to
move it to the Selected column, then click Apply and Done to filter the list to display
only /customer/rent.htm error transaction snapshots.
7. Click the Slow Calls and Errors tab, then click the Errors sub-tab.
8. Select an exception to view the full stack trace including the class, method, and line
number where the root exception occurred.
Note: You have now come as close to finding the root cause of this error as your
application’s exception handling code allows.
Note: This summary contains little error detail other than the system reports an
HTTP error 500 in this tier.
10. Click the Transaction tab that contains the Request GUID to return to the
Snapshot Flow Map.
11. Click the Drill Down button above the mz_service tier to explore the error details for
this tier.
Note: This summary contains more error detail which gives you a better idea of the
root cause of the issue.
12. On the mz_service tier tab, click the Actions drop-down and select Export to
create a Snapshot Export Summary document that contains the mz_service tier
portion of the snapshot.
Note: This report can be saved and shared as needed.
13. Consider the following:
a. Does the Snapshot Export Summary contain additional information about the
/customer/rent.htm BT that you did not see in the Controller?
b. In the error snapshots for the /customer/rent.htm transaction, what seems to be
the root cause: the error in the mz_UI tier or the mz_service tier?
c. Given this, what would you recommend as the next step to solve the issue?
____________________________________________________________
Note: This stops the Errors load that triggered a problem with the
/customer/rent.htm BT.
f. Verify that you see the confirmation message in the Log window.
Please let your instructor know that you have completed the exercise(s).
Username: admin
Password: labs4Appd*
Username: HOLLY
Password: FOX
Instructions
To log in to your Controller UI and navigate to the Application Dashboard, follow the
steps below.
1. For instructor-led training: direct your web browser to the IP address provided by
your instructor (http://<Your-IP-Address>/controller).
For self-paced/on-demand training: the controller window will open in a new tab after
you launch your on-demand lab environment.
2. Log in using the AppDynamics Controller UI username and password at the
beginning of this appendix.
3. On the Home page, within the Applications card, click the MovieZtream
application to display the Application Dashboard.
Note: The Dashboard tab on the Application Dashboard includes the Application
Flow Map which provides a high-level view of the MovieZtream application. From this
view you can navigate to other tabs on the Application Dashboard, or use the left
navigation pane of the Controller UI to navigate to a different area.
Instructions
To log in to the MovieZtream web application and run command scripts, follow the
steps below.
1. For instructor-led training: direct your web browser to the IP address provided by
your instructor (http://<Your-IP-Address>/movieztream_ui).
For self-paced/on-demand training: the MovieZtream interface window will open in a
new tab after you launch your on-demand lab environment.
2. Log in using the MovieZtream Application username and password at the beginning
of this appendix.
3. Navigate to the Admin > Server Management page.
Note: You can launch a command script for a lab exercise by selecting a command
from the Command drop-down and clicking the Start Load Command or Process
button.