1 / 100

dynaTrace 6.0

dynaTrace 6.0. User Experience Management. Agenda. UEM Introduction Installation Configuration UEM-specific Dashlets Business Transactions for UEM. UEM Introduction. dynaTrace UEM Components. JavaScript Agent. JavaScript Agent. Web Server/User Experience Sensors.

edda
Download Presentation

dynaTrace 6.0

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. dynaTrace6.0 User Experience Management

  2. Agenda • UEM Introduction • Installation • Configuration • UEM-specific Dashlets • Business Transactions for UEM

  3. UEM Introduction

  4. dynaTrace UEM Components JavaScript Agent JavaScript Agent Web Server/User Experience Sensors Web Server/User Experience Sensors Browser Web Server Java Other Database .NET Mobile Browser PurePath Collector UEM dynaTraceClient Web Server Module and Web Server Master agent for Apache/IIS Mobile native App Android/IOs Mobile UEM ADK dynaTraceServer

  5. dynaTrace Webserver Agent Architecture Master Agent handles communication with collector and is responsible for getting configuration from server and storing into shared memory Web Servers Client Server Collector Shared Mem Module (loaded by every child process of http), reads config from Shared Memory, sends collected data to master agent, injects js agent into html files Configuration is stored in Shared Memory

  6. Visit/User Action/Web Request User Action PurePath with Web Requests Visit User Action Web Request Web Request Web Request Web Request Web Request Web Request User Action Web Request Web Request Web Request User Action

  7. What are User Actions? easyTravel Scenario 3: Entering Search KeysWeb 2.0 Actions triggering XHRs 4: Click on SearchWeb 2.0 Action (jQuery Handler) 1: Loading of HomepageStarts the Visit and is first User Action 2: Click on ContactNavigating to a different page Identified Visit 1: Loading Homepage 2: Navigating to Contact and back to Home 3: Web 2.0 Key Strokes 4: Click on Search

  8. User Action In Detail: Loading of a Page User Action Loading of 'easyTravel- One step to happiness' Plainpageloadaction (e.glandingpage) EntereasyTravel orange.jsf resources orange.jsf User Action PurePath with Web Requests

  9. User Action In Detail: Navigating to a new Page Click on Book Now Loading of a new document/page, triggered by JavaScript or by plain HTML functionality (e.g. href) Book Now orange.jsf orange-booking-review.jsf orange-booking -review.jsf resources

  10. User Action in Detail: Web 2.0 Action and XHR Call Click on Search Pure AJAX/Web 2.0 action (staying on the same page), which issues at least one XML HTTP request. Use API for capturing client only actions. Search orange.jsf resources XHR

  11. User Action in Detail: Custom User Action • A User Action can also be defined by the customer via JavaScript ADK • dynaTrace.enterAction(name,type,startTime,parentAction) • dynaTrace.leaveAction(actionName)

  12. What is the difference between User Action vs. Page View

  13. What is the Apdex? Application Performance Index • Defined by Apdex Alliance (www.apdex.org) • Unified and comparable value between 0 and 1 for charting • Values < 0.5 unacceptable and > 0.93 excellent • Actions (Tasks) categorized in three zones based on Satisfied/Tolerating Threshold: • The Satisfied/Tolerating Threshold is configurable • Actions that fail are also categorized as Frustrated Satisfied Tolerating Frustrated 2.0s 0 8.0s (4 x 2.0s)

  14. Why is this visit satisfied?

  15. Why is this visit satisfied? • Users have a Satisfied experience if • no action failed AND • More than 50% of all User Actions are Satisfied • Users have a Frustrated experience if • Last action is Frustrated (either due to response time or failure) OR • More than 50% of all actions were Frustrated • Users have a Tolerating experience if • Last action was not Frustrated AND • More than 50% of all actions were at least Tolerating

  16. Q&A

  17. Installation

  18. Introduction The Webserver Agent divides in two parts Webserver Agent Webserver Module connects to dynaTrace Server or Collector sends profiling data to the Agent Windows Unix Apache / IHS IIS6 IIS7/IIS8 an executable running as a service Apache only: Started by Apache module Apache Module (httpd.conf) ISAPI Filter Native HTTP Module

  19. Introduction (contd.) The JavaScript Agent can also be injected via the regular Java Agent; it can be used without the WebServer Agent The Webserver Module • Injects the JavaScript Agent into web pages for UEM • which sends profiling data to the Webserver Module • The JavaScript Agent is Production-Ready (vs. Browser Agent) • Communicates with the Web Server Master Agent via Shared Memory

  20. Which Information is Captured? • Webserver Agent • Request URL, query, Client IP and HTTP header • Response status code and HTTP header • Durations • Request/Response sizes • JavaScript Agent • Load times • JavaScript Errors • Bandwidth • User actions • …

  21. How to Install • Windows • Installer • Configure Apache module, ISAPI filter etc. • Webserver Agent runs as service • Unix • Untar and execute installer shell script • Set user permissions (shared objects and Webserver Module files) • Configure Apache module • Webserver Agent started by Apache module

  22. How to Configure • Edit the dtwsagent.ini file • Windows: <dynaTrace_Home>\agent\conf directory, e.g. C:\Program Files\dynaTrace\dynaTrace 5.6.0\agent\conf • UNIX: <dynaTrace_Home>/agent/conf directory, e.g. /opt/dynaTrace/dynaTrace_5.6.0/agent/conf • Set Agent Name • Set Collector Address

  23. When everything is setup - World Map shows Visits • Supports Visits and User Action • Coloring based on User Experience (Visits) or Apdex (User Actions) • Allows geographical drill/down

  24. Hands OnConfigure Web Server

  25. Hands On: Configure Web Server • Scenario • Core Training – Standard UEM • Load: Standard • Goals • Define a Web Server Tier for Apache 2.2 using the Add Tier Wizard • The Apache Module is already placed in httpd.conf • Configure the dynaTrace Web Server Agent through dtwsagent.ini and restart the “dynaTrace Web Server Agent” Service • Verify UEM Data is captured (using User Action PurePaths and World Map)

  26. Q&A

  27. UEM Configuration

  28. UEM Configuration • UEM settings can be configured per Application Default and Application Specific (overriding Default)

  29. Application Configuration Define detection mode Use URL patterns Defined via mobile native agent implementation

  30. Hands OnApplications

  31. Hands On: Define Applications for easyTravel • Scenario 1 • Core Training – Standard UEM • Goals • Modify the Applications created during the Core Concepts Training so that the new URIs will be included: • Hint: Take a look at the easyTravel Console it shows the ports currently used • Hint: Different ports are used due to addition of Web Servers • If you don’t have Applications configured from earlier Training, create them

  32. UEM Configuration Turn On/Off UEM for individual Applications Visit related config- Timeout impacts Visit-based BTs- Define Measures for User - Tagging and Conversion Detection Baseline for User Satisfaction (APDEX)

  33. Visit Tagging • Use a Measure that returns a User Name/ID, e.g: method argument, HTTP Parameter, … • First value of that measure for every Visit will be used for tagging • View User Tag in Visits Dashlet Select a Measure that returns a User Name or ID Captured Tag per Visit

  34. Conversion Goals • Configure an event that will categorize a Visit as Converted • e.g, a purchase was completed • Detected through 3 types 1. When a specific URL is visited, e.g: /userconverted 2. When a specific Method is called, e.g: storeBooking 3. Using any custom measure that exceeds the threshold, e.g: Specific SQL Statement is executed

  35. UEM Configuration – Injection Injection Restrictionsregarding client IP addresses Injection Restrictionsregarding client Browser If this option is enabled no information will be captured from users who configured their browser to send a 'Do not track' header (x-do-not-track) Configure a URL that is allowed to serve content This option will use Cross-Origin Resource Sharing (CORS) to send the dynaTrace Monitor to a different Web Server than the originating one.

  36. JavaScript Agent Configuration • Agent Location • A location where the JavaScript agent can be delivered from • Defaults to /dtagent56.js, e.g. www.easytravel.com/dtagent60.js (note, real JavaScript agent name is build # dependent) • It is sometimes necessary to adjust the Agent Location to a different URI that is allowed to serve content.

  37. JavaScript Agent Configuration • dynaTrace Monitor • The data collected by the Javascript Agent is sent back to the instrumented Web Server via an HTTP POST • Defaults to /dynaTraceMonitor, e.g. www.easytravel.com/dynaTraceMonitor • Can be manually executed in a browser for testing and will return which UEM Sensor is processing this request • Cross-Origin Resource Sharing (CORS) allows the dynaTrace Monitor signal to be sent to a different location than the origination. • Helpful where CDNs are used to avoid extra traffic (and cost) associated with the CDN. • Helpful when Manual Injection is used so that no forwarding has to occur in the originating Web Server. • CORS is only supported in newer browser versions.

  38. UEM Configuration – Capture Options • Configure which User Actions are triggered by JavaScript Agent • Select appropriate JavaScript Frameworks, e.g: jQuery, ExtJS • Select additional capturing options such as Perceived Render Times or W3C Timings Turn on Bandwidth Calculation to estimate Network Contribution ATTENTION: Adds additional overhead in browser to calculate render time Captures information about HTML5 video and audio tags embedded into a webpage Only select the XHR you use and only select Basic XHR if no other more specific Framework can be selected. Will work with GWT, ZKos Configure capturing of Third Party Content Summary and Detail information. Map your Third Party and CDN Domians appropriately.

  39. Bandwidth Calculation • A file is sent back and forth between the web server and browser • It is initially very small – on the order of a single pixel • It Keeps growing until we have a good estimation of bandwidth • It will add overhead, so make sure the refresh interval is not too small • It will shut itself off if it is slow • Will be categorized as follows: • Dial up <=56 kb/s • DSL low <=384 kb/s • DSL medium <=768 kb/s • DSL high <=1500 kb/s • Broadband >1500 kb/s

  40. UEM Configuration – Third Party Configuration Map Domains to either Third Party or CDN Get More details on Slowest Resources These changes have a direct impact on the overhead of the JavaScript Agent. These changes are Server-Side so there will be no impact on the JavaScript Agent.

  41. UEM Configuration - W3C Navigation Timings • W3C = World Wide Web Consortium • The World Wide Web Consortium (W3C) is an international community where Member organizations, a full-time staff, and the public work together to develop Web standards. • The Navigation Timing interface provides a way of measuring a complete end-to-end picture of User Latency. • User Latency = The total amount of time involved in various parts of the process by which a user first requests a Web resource until the time where it has finished loading in the Browser.

  42. UEM Configuration - W3C Navigation Timings • Navigation Steps

  43. UEM Configuration - W3C Navigation Timings • Navigation Landmarks

  44. UEM Configuration - W3C Timings • Which Browsers provide this data? • From www.caniuse.com/nav-timing

  45. UEM Configuration – Mobile Applications This lets you configure the delay until data captured with the mobile ADK is sent to the dynaTrace Server Turn on/Off capture of Lifecycle Events, Crashes and Errors/Exceptions

  46. Hands OnConfigure UEM

  47. Hands On: Configure UEM for easyTravel • Scenario • Core Training – Standard UEM • Goals • Capture UEM Data for easyTravel Portal only • Hint: Disable UEM Data collection for the Administration Portal • Configure Capturing for the easyTravel Portal • jQuery and Icefaces are used by the easyTravel Portal – enable capture • Lower Visit Timeout, e.g: 5 minutes • Configure Visit Tag • Hint: We want to see the username for Visits that are logged in. Usernames will show up in the Visits Dashlet • Hint: Username is available as an argument to authenticate. • Configure Conversion Goal • Hint: a user is considered converted if callPaymentService is invoked. Conversion Rate will show up in the Visit Dashlet • UEM Dashboard “Application Business Dashboard” must show meaningful values • Hint: This is a pre-configured dashboard accessible through Start Center

  48. UEM Sensors

  49. UEM Configuration - User Experience Sensor • Handles UEM Injection and Monitor Signal processing on both Java Application Server and/or Web Server • Best Practice is to enable User Experience Sensor on ALL Tiers possible • Testing which Tier actually handles UEM? • Browse to http://yourapplication/dynaTraceMonitor • Response tells you whether Java Application Server or Web Server handles response Inactive by default on Java Tiers -> change to Active in case you have UEM

  50. UEM Configuration - User Experience Sensor • User Experience Sensor Defines how and where dynaTrace injects the <script> tag Configurable at the URI level – including turning off injection.

More Related