Advanced APM .NET hands-on lab
Alex Fedotyev
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 2
Notice
The information and materials included in this presentation (collectively, the
“Materials”) are the proprietary information of AppDynamics, Inc. (“AppDynamics” or
the “Company”). No part of the Materials may be reproduced, distributed,
communicated or displayed in any form or by any means, or used to make any
derivative work, without prior written permission from AppDynamics.
The Materials may contain product roadmap information of AppDynamics.
AppDynamics reserves the right to change any product roadmap information at any
time, for any reason and without notice. This information is intended to outline
AppDynamics' general product direction, it is not a guarantee of future product
features, and it should not be relied on in making a purchasing decision. The
development, release, and timing of any features or functionality described for
AppDynamics' products remains at AppDynamics' sole discretion. AppDynamics
reserves the right to change any planned features at any time before making them
generally available as well as never making them generally available.
All third-party trademarks, including names, logos and brands, referenced by
AppDynamics in this presentation are property of their respective owners. All
references to third-party trademarks are for identification purposes only and shall be
considered nominative fair use under trademark law. © 2016 AppDynamics, Inc. All
rights reserved.
Introduction
Hello!
AppDynamics Team in a room:
• Alex Fedotyev – Solution Architect, .NET
• Meera Viswanathan – Product Manager, .NET
• David Roth – Engineering Manager
• Ed Ferron – Sales Engineer
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 4
Agenda
• Demos:
– How to monitor Azure Web Apps
• Hands-on labs:
– Transaction organization common practices
– Middle tier telemetry using service endpoints
– Deep investigation using data collectors
– Additional telemetry for alerting and dashboards
– Leveraging analytics for performance distribution analysis
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 5
Azure Web Apps
Azure Web Apps
• Azure Web Apps monitoring is supported by AppDynamics
• Both 32/64-bit applications are supported
• .NET agent is distributed via nuget package
• Most common installation – using Visual Studio or nuget
• Limitation: monitoring performance counters are not supported
• Main difference from regular .NET agent – deployment steps
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 7
Lab Application overview
Portal for IoT device management
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 9
• Manage smart house
• Add/remove IoT devices to the central
portal
• Manage user devices
• Access device status and history
• Read/update individual device
configuration
Portal – IoT device management
Technology stack:
• ASP.NET MVC front end
• WCF middle tier
• MSSQL backend
Issues:
• Users are complaining regarding slow performance
• Response time looks OK, but is sporadic
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 10
Accessing lab controller
http://tinyurl.com/APM-NET-lab
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 11
#1. Transaction organization
Common practices to transaction organization
• Better understand application performance.
• Map transactions to user actions or business activities.Why
• Per transaction telemetry and baselines significantly improve root cause
identification process.
• End-to-end flow maps with performance telemetry for each business transaction.
What
• Group similar functionality into same transaction.
• Split using additional parameters to have unique visibility if needed.
• Review/update transaction detection periodically – it isn’t static.
How
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 13
Typical options to organize transactions
• URL manipulation
• Payload filtering
• Leverage MVC controller/action
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 14
WebPortal business transactions
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 15
How to identify MVC requests
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 16
#2. Middle tier telemetry
using Service Endpoints
What is a Service Endpoint?
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 18
Service Endpoint in WebPortal Application
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 19
Service Endpoints:
• GetDevices
• GetDevice
Transactions:
• /Device/GetAllDevices
• /Home/Index
• /Device/GetDeviceStatus
Transaction: /Device/GetAllDevices
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 20
Configure Service Endpoint
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 21
#3. Deep investigation using
Data Collectors
GetDevices – learn more about the returned dataset
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 23
Start with collecting return value…
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 24
Collect dataset size – number of devices
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 25
Updated data collector
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 26
Snapshot with number of devices
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 27
#4. Additional telemetry for
alerting and dashboards
Idea…
1. Understand and visualize large homes performance comparing to
small homes
2. Large home performance analysis to understand longer trends
3. Define different alerting based on the home profile
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 29
Additional instrumentation using Information Points
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 30
Small home (devices < 10)
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 31
Large home (devices >= 10)
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 32
Sample custom dashboard showing new telemetry
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 33
#5. Leveraging analytics for
performance distribution
analysis
Response time vs. number of devices
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 35
Total # devices per unique user
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 36
Please give us your feedback—Session HOL24345
• Complete the online survey you'll receive via
email later today or via text at:
Text this number: 878787
Text this word: APPSPHERE
• Every time you submit a session survey, your
name will be entered in a random drawing.
We're giving away Amazon Echos
to 5 lucky winners!
• Thank you for your input
APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 37
Win!
Thank you

Advanced APM .NET Hands-On Lab - AppSphere16

  • 1.
    Advanced APM .NEThands-on lab Alex Fedotyev
  • 2.
    APPDYNAMICS CONFIDENTIAL ANDPROPRIETARY 2 Notice The information and materials included in this presentation (collectively, the “Materials”) are the proprietary information of AppDynamics, Inc. (“AppDynamics” or the “Company”). No part of the Materials may be reproduced, distributed, communicated or displayed in any form or by any means, or used to make any derivative work, without prior written permission from AppDynamics. The Materials may contain product roadmap information of AppDynamics. AppDynamics reserves the right to change any product roadmap information at any time, for any reason and without notice. This information is intended to outline AppDynamics' general product direction, it is not a guarantee of future product features, and it should not be relied on in making a purchasing decision. The development, release, and timing of any features or functionality described for AppDynamics' products remains at AppDynamics' sole discretion. AppDynamics reserves the right to change any planned features at any time before making them generally available as well as never making them generally available. All third-party trademarks, including names, logos and brands, referenced by AppDynamics in this presentation are property of their respective owners. All references to third-party trademarks are for identification purposes only and shall be considered nominative fair use under trademark law. © 2016 AppDynamics, Inc. All rights reserved.
  • 3.
  • 4.
    Hello! AppDynamics Team ina room: • Alex Fedotyev – Solution Architect, .NET • Meera Viswanathan – Product Manager, .NET • David Roth – Engineering Manager • Ed Ferron – Sales Engineer APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 4
  • 5.
    Agenda • Demos: – Howto monitor Azure Web Apps • Hands-on labs: – Transaction organization common practices – Middle tier telemetry using service endpoints – Deep investigation using data collectors – Additional telemetry for alerting and dashboards – Leveraging analytics for performance distribution analysis APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 5
  • 6.
  • 7.
    Azure Web Apps •Azure Web Apps monitoring is supported by AppDynamics • Both 32/64-bit applications are supported • .NET agent is distributed via nuget package • Most common installation – using Visual Studio or nuget • Limitation: monitoring performance counters are not supported • Main difference from regular .NET agent – deployment steps APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 7
  • 8.
  • 9.
    Portal for IoTdevice management APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 9 • Manage smart house • Add/remove IoT devices to the central portal • Manage user devices • Access device status and history • Read/update individual device configuration
  • 10.
    Portal – IoTdevice management Technology stack: • ASP.NET MVC front end • WCF middle tier • MSSQL backend Issues: • Users are complaining regarding slow performance • Response time looks OK, but is sporadic APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 10
  • 11.
  • 12.
  • 13.
    Common practices totransaction organization • Better understand application performance. • Map transactions to user actions or business activities.Why • Per transaction telemetry and baselines significantly improve root cause identification process. • End-to-end flow maps with performance telemetry for each business transaction. What • Group similar functionality into same transaction. • Split using additional parameters to have unique visibility if needed. • Review/update transaction detection periodically – it isn’t static. How APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 13
  • 14.
    Typical options toorganize transactions • URL manipulation • Payload filtering • Leverage MVC controller/action APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 14
  • 15.
    WebPortal business transactions APPDYNAMICSCONFIDENTIAL AND PROPRIETARY 15
  • 16.
    How to identifyMVC requests APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 16
  • 17.
    #2. Middle tiertelemetry using Service Endpoints
  • 18.
    What is aService Endpoint? APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 18
  • 19.
    Service Endpoint inWebPortal Application APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 19 Service Endpoints: • GetDevices • GetDevice Transactions: • /Device/GetAllDevices • /Home/Index • /Device/GetDeviceStatus
  • 20.
  • 21.
    Configure Service Endpoint APPDYNAMICSCONFIDENTIAL AND PROPRIETARY 21
  • 22.
    #3. Deep investigationusing Data Collectors
  • 23.
    GetDevices – learnmore about the returned dataset APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 23
  • 24.
    Start with collectingreturn value… APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 24
  • 25.
    Collect dataset size– number of devices APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 25
  • 26.
    Updated data collector APPDYNAMICSCONFIDENTIAL AND PROPRIETARY 26
  • 27.
    Snapshot with numberof devices APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 27
  • 28.
    #4. Additional telemetryfor alerting and dashboards
  • 29.
    Idea… 1. Understand andvisualize large homes performance comparing to small homes 2. Large home performance analysis to understand longer trends 3. Define different alerting based on the home profile APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 29
  • 30.
    Additional instrumentation usingInformation Points APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 30
  • 31.
    Small home (devices< 10) APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 31
  • 32.
    Large home (devices>= 10) APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 32
  • 33.
    Sample custom dashboardshowing new telemetry APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 33
  • 34.
    #5. Leveraging analyticsfor performance distribution analysis
  • 35.
    Response time vs.number of devices APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 35
  • 36.
    Total # devicesper unique user APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 36
  • 37.
    Please give usyour feedback—Session HOL24345 • Complete the online survey you'll receive via email later today or via text at: Text this number: 878787 Text this word: APPSPHERE • Every time you submit a session survey, your name will be entered in a random drawing. We're giving away Amazon Echos to 5 lucky winners! • Thank you for your input APPDYNAMICS CONFIDENTIAL AND PROPRIETARY 37 Win!
  • 38.