ebook img

End-User Monitoring PDF

348 Pages·2016·14 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview End-User Monitoring

End-User Monitoring AppDynamics Application Intelligence Platform Version 4.2.5 Page 1 End-User Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Browser Real User Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Monitor Your Applications with Browser RUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 The Browser App Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Browser Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Browser RUM Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 The Pages & Ajax Requests View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Page, Ajax, and Iframe Dashboards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Browser RUM Analyze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Set Up and Configure Browser RUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Configure the Controller UI for Browser RUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Configure Page Identification and Naming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Configure Virtual Page Naming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Configure JavaScript and Ajax Error Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Configure Browser RUM Performance Thresholds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Configure Browser Snapshot Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Configure Web Percentile Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Configure Which Ajax Requests Are Sent to the Event Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Configure Session Monitoring Timeouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Configure Request IP Address Storage - Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Customize Your Browser RUM Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Set Up Your Application for Browser RUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Manual Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Automatic Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Assisted Injection-Using Injection Rules - Java Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Assisted Injection-Using Attribute Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Container Assisted Injection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Customize the JavaScript Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Check Browser RUM Configuration Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Get More Information about Browser RUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Browser RUM Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Browser RUM Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Host a Geo Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Use a Custom Geo Server For Browser RUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Browser RUM Supported Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Browser RUM Countries and Regions by Geo Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Create a HAR file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 Extend the JavaScript Agent for Single Page Applications in Browser RUM - the JS API . . . . . . . . . . . . . 205 Single Page Applications in Browser RUM - AngularJS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Browser Synthetic Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Create Scripts for Synthetic Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 On-Demand: Create and View Instant Synthetic Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 Browser Synthetic Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Browser Synthetic Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Mobile Real User Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 Monitor Your Applications with Mobile RUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 The Mobile App Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Mobile Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Network Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 The Network Requests List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 Network Request Analyze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 Network Request Snapshots List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Crashes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Crash Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Crash Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Crash Snapshot Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Crash Snapshot Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Get Human-Readable Crash Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Custom Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 Set Up and Configure Mobile RUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Instrument a Mobile Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Instrument an iOS Application - CocoaPods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Instrument an iOS Application - Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 Manage Your dSYM Files with Bitcode Enabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 Use the APIs of the iOS SDK to Customize Your Instrumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Troubleshoot Your iOS Instrumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Instrument an Android Application - Maven Central . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 Instrument an Android Application - Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Use the APIs of the Android SDK to Customize Your Instrumentation . . . . . . . . . . . . . . . . . . . . . . . . 321 Page 2 Troubleshoot Your Android Instrumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 Verify Your Instrumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 Configure Mobile Network Requests Naming and Thresholds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 Configure Mobile Network Request Naming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 Configure Mobile Network Request Thresholds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 Configure Mobile Percentile Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Configure Which Network Requests are sent to the Event Service . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 Configure Request IP Address Storage - Mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Troubleshoot Mobile Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 Troubleshoot Slow Network Requests from Mobile Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 Troubleshoot Mobile Application Crashes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342 Get More Information about Mobile RUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 Mobile RUM Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 Mobile RUM Supported Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Mobile RUM Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Network Request Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Page 3 End-User Monitoring End-User Monitoring (EUM) provides performance information from the point of view of the client, whether that client is a web browser or a mobile native application. This is different from other types of AppDynamics monitoring, which typically begin at the application server. You can monitor web use (by real users or synthetic agents), mobile use, or any combination, depending on your needs. EUM helps you determine the extent to which poor user experience may be caused by problems in the browser or local app, or in the network, by showing you a breakdown of how much of the total end-user time is spent requesting service and then rendering the response data. In addition, for mobile apps it provides crash snapshots that include stack traces of the application at the time of the crash. EUM gives you visibility into client usage on a global basis, showing you, for example: where your heaviest loads originate where your slowest end-user response times occur how performance varies by location by client type, device, browser and browser version, and network connection, for Web requests by application and application version, operating system version, device, and carrier, for mobile requests what your slowest Web requests/Ajax requests are, and where the problem may lie what your slowest mobile network requests are, and where the problem may lie how application server performance impacts the performance of your web and mobile traffic EUM produces its own data set that is separate from the data reported by app agents. This data is visible in various EUM screens, via the Metric Browser, and, with the appropriate license, via AppDynamics Analytics. In addition, EUM data can be linked to the corresponding server-side business transaction information collected by app agents to give you a complete view of your end users' experience from the client request, through the backend, and on to the client response. End-User Monitoring was previously named End User Experience Management (EUEM). Accessing End-User Monitoring Copyright © AppDynamics 2012-2016 Page 4 1. Select the User Experience tab. 2. Choose either Browser Apps (which includes RUM and Synthetic) or Mobile Apps. 3. Double-click the app in which you are interested to open the application UI. For more information on Browser Monitoring: Browser Real User Monitoring For more information on Synthetic Monitoring: Browser Synthetic Monitoring For more information on Mobile Monitoring: Mobile Real User Monitoring By default, End-User Monitoring uses a cloud-based component, the EUM Cloud, to process EUM data, but this functionality is also available in an on-premises version. For information on using this version: Install the EUM Server Some functionality for EUM depends on the AppDynamics Platform Events Service. In a SaaS environment, this is managed by AppDynamics, but it is also possible to use this functionality in an on-premises form. To host the Events Service on-premises: Install the Controller Install the Events Service Since EUM produces additional metrics, you may need to re-evaluate your current configuration's ability to handle the additional load. See Additional Sizing Considerations. Copyright © AppDynamics 2012-2016 Page 5 Browser Real User Monitoring On this page: Monitor your Application How It Works Licensing and Enabling Browser Monitoring Related pages: End User Monitoring Search the Browser RUM topics: Browser Real User Monitoring (Browser RUM) allows you to see how your web application is performing from the point of view of a real or synthetic end user. You can answer questions like: Which 1st or 3rd party Ajax or iframe calls are slowing down page load time? How does server performance impact end user experience in aggregate or in individual cases? You can drill into the data to explore how users experience your application in their web browsers. Monitor your Application Browser RUM offers multiple ways to look at your data, in real time. You can: Understand and improve your web page's performance Know how your pages, Ajax requests, and iframes are performing over time. See The Pages & Ajax Requests View. Gain insight into individual requests, with detailed charts on how your pages, Ajax requests, and iframes load and build in your end user's browsers, with links, if enabled, to reports on server-side performance. See Browser Snapshots. Find your worst performing pages by multiple common metrics. See Top Pages. Reduce errors Learn which pages are loading with JavaScript errors, and the script file and line number that are creating the problem. See Browser Snapshots. Learn about your users See how your web users are connecting to your application, by device/platform and browser. See The Browser App Dashboard. Find out where in the world your web users are and how your application is performing across countries and regions. See The Browser App Dashboard. For more information on using Browser RUM, see Monitor Your Applications with Browser RUM. How It Works The JavaScript Agent is made of up two small JavaScript files, adrum.js and adrum-ext.js. 1. Adrum.js is injected into each instrumented page, as close to the top as possible, as the page is served. Although it loads synchronously, it's a very small file, around 30 KB (10 to 12 KB with compression), and generally executes in less than 5 ms in modern browsers and less than 15 ms in older browsers. 2. This first JavaScript file starts a timer and does some quick configuration and setup. 3. At the onload event, adrum-ext.js is fetched asynchronously, specifically to not block page load. This is the code that does most of the heavy lifting. Once it has been fetched, it is cached for 24 hours on the browser. 4. When the page has completed loading, the collected data is bundled into a beacon and sent to the EUM Cloud by adrum-ext .js. 5. The data is processed by the EUM Cloud and then made available for pickup by the Controller. Copyright © AppDynamics 2012-2016 Page 6 For more detailed information, check out the video. The JavaScript Agent Setting Up and Configuring Browser RUM Browser RUM is easy to set up. It is also highly configurable. You can: instrument your application to work with Browser RUM. For more information, see Set Up Your Application for Browser RUM. set up how your information appears in the Controller UI. For more information see Configure the Controller UI for Browser RUM. customize your deployment. For more information, see Customize Your Browser RUM Deployment. For more information on setting up Browser RUM, see Set Up and Configure Browser RUM. Licensing and Enabling Browser Monitoring Browser Real User Monitoring requires a separate license, and must be enabled before it is available for use. For information about licensing, including a description of the types of licenses, Lite and Pro, see Browser RUM Licenses. For information on enabling or disabling Browser RUM, see Set Up and Configure Browser RUM. Monitor Your Applications with Browser RUM On this page: Access a Browser RUM App The Browser App Dashboard Sessions Pages & Ajax Requests Analyze Enabling Browser RUM Browser Real User Monitoring (RUM) presents information in these views: An overview dashboard, with sections for: widgets for graphic display of common metrics map-based performance display snapshots of individual requests usage statistics by browser and device/platform Unified data for entire sessions, following an individual user's path as they navigate through your site Detailed information on the performance of individual pages, as aggregated lists of page, Ajax, iframe, and virtual page request types multi-faceted data from a complete data store Access a Browser RUM App To see the data for your app in the Controller UI, you must first open your application: 1. In the top tab bar, select User Experience. The list of instrumented Browser and Mobile Apps is displayed. Copyright © AppDynamics 2012-2016 Page 7 1. 2. Make sure the Browser App tab is selected. 3. Double-click on the app you are interested in. The monitoring UI opens. The Browser App Dashboard This view is good for getting a high-level understanding of how your app is performing overall. Browser App Overview The Overview tab is made up of a set of widgets showing common usage metrics. You can add, delete, move, and resize widgets as you wish. If you see a metric that interests you, click through to the main view. If you are using Synthetic, data from both RUM and Synthetic (separated by color) show up in some of the widgets. Copyright © AppDynamics 2012-2016 Page 8 For more information, see The Browser App Dashboard. Browser App Geo Dashboard The Geo Dashboard view provides high-level insight into how your application is performing across the world for your users. The size of a dot indicates the number of page views from that region, and the color indicates the average page load End User Response time in that region (red is slow). You can click to drill down to areas of specific interest. You can also see the same information presented in tabular form by clicking the grid icon in the upper left of the panel. If you are using Synthetic, you can also select to see either RUM or Synthetic data displayed here. Copyright © AppDynamics 2012-2016 Page 9 For more information, see The Browser App Dashboard. Browser Snapshots The Browser Snapshot view provides access to detailed information for individual requests. The list includes both periodic snapshots of requests operating within normal boundaries and problem snapshots of requests that have exceeded one or more configurable performance criteria. Double-clicking a specific item takes you to a detailed graphical representation of the execution flow of that request and other data associated with it. Copyright © AppDynamics 2012-2016 Page 10

Description:
Single Page Applications in Browser RUM - AngularJS . Browser Real User Monitoring (Browser RUM) allows you to see how your web application
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.