AppDynamics switched from Semantic Versioning to Calendar Versioning starting in February 2020 for some agents and March 2020 for the entire product suite.


    Skip to end of metadata
    Go to start of metadata

    Related pages:

    Your Rating:
    Results:
    1 Star2 Star3 Star4 Star5 Star
    30 rates

    This page covers types of EUM data, how data is collected, where data is store, and where data is displayed in the Controller. For data retention and license consumption details, see License Entitlements and Restrictions.

    Types of EUM Data

    Metric Data

    Metrics are data that reflect your application's performance. Browser RUM captures metrics using your end-users' web browsers such as timing and Ajax metrics. Mobile RUM captures metrics from mobile applications, such as crash metrics and network request metrics. You can view and analyze EUM metrics in the Metric Browser.

    To learn more about EUM metrics, see the following:

    Custom Data

    Browser RUM

    You can add user information that is specific to your application to a browser snapshot. The information is expressed as key-value pairs. The information appears in the User Data section of the snapshot and is available for page snapshots, Ajax requests, and virtual pages. To learn how to set custom user data, see Add Custom User Data to a Page Browser Snapshot.

    Mobile RUM

    Mobile RUM custom data such as Info PointsCustom Timers, and Custom Metrics are considered metrics and not records stored as mobile request event data. User data is another type of Mobile RUM custom data. Modifying user data affects the current state but does not generate event records. Changes to user data can be reported, however, through network request events because user data is attached to each network request. 

    To learn how to set user data, see User Data (iOS SDK) or User Data (Android SDK).

    EUM Analytics Data 

    You can view EUM data in Application Analytics if you have an Application Analytics license separate from the EUM licenses. The EUM data found in Application Analytics consists of event data and is stored in the Events Service. The EUM Analytics data visualized in widgets is also from the Events Service.

    EUM Analytics provides data for the following event types:

    For details about the limits and retention policy for EUM Analytics data, see the entries for Browser Analytics (SaaS), Browser Analytics (on-prem), Mobile Analytics (SaaS), and Mobile Analytics (on-prem) on License Entitlements and Restrictions.

    Cookies

    Browser RUM uses two different kinds of short-lived cookies to help it collect data and correlate events. Neither type of cookie contains any personally identifiable information (PII) and are immediately deleted after being read.

    • The ADRUM cookie: written by the JavaScript Agent, this cookie contains the referral page URL and some timing information to assist gathering First Byte Time for some browser types. When the agent loads on the subsequent page, it reads the information and then deletes the cookie. If there is no agent on that page, the cookie is deleted when the browser is closed. For privacy purposes, the URL of the referral page is hashed.
    • The ADRUM_BT cookies: written by the server-side agent when the page is served from an instrumented server. These cookies help correlate browser data with related server-side performance data. 
      • ADRUM_BTa - contains the backend transaction ID as well as timing info and is used to correlates end-user experience with the health of the backend app.
      • ADRUM_BTg - contains the backend transaction ID and is used as an alternative method to correlate end-user experience with the health of the backend app.
      • ADRUM_BT[1-5] - contains the business transaction numbers as well as timing and error info for the first five business transactions, such as ADRUM_BT1ADRUM_BT2, etc.
      • ADRUM_BTs - contains a link from a browser snapshot to a server snapshot. 
      • ADRUM_BTh - only written if there was a server-side error.

    If Browser RUM detects that the page is HTTPS, the Security attribute is set for cookies. The Security attribute is a flag that forbids a cookie from being transmitted via an unencrypted HTTP connection.

    Web Storage

    Browser RUM stores key-value pairs in web storage to associate page views with a particular session and browser. The value for each key is a randomly generated ID.

    The following lists the keys and the expiration time for each key-value pair:

    • ADRUM_AGENT_INFO (never)
    • ADRUM_CLIENTINFO (never)
    • ADRUM_XD_AGENT_ID (never)
    • ADRUM_XD_AGENT_INFO (1 week)

    Mobile Local Storage

    Mobile Agents use beacons to transmit metrics, metadata about the app, network requests, crashes, and custom data. When a beacon cannot be transmitted, the data is persisted in permanent storage within the container of the application and subject to the security configuration of the device and application. No encryption is currently being utilized. Once the network connection is restored, the beacons resume transmitting data. Because some of the data is provided by the developer's instrumentation of the app, such as breadcrumbs, user info, and the app (URLs, crash reports), some information is not explicitly collected by AppDynamics.  

    Mobile RUM also locally stores a randomly generated ID for tracking sessions and license usage. The ID is stored in the Events Service.

    How Data Is Stored and Retrieved

    Browser RUM

    Browser RUM data is stored in the Controller, the Events Service, and the EUM Server. The JavaScript Agent sends raw data to the EUM Server, where the data is verified, aggregated, and packaged every minute. The EUM Server then sends data to the Events Service. The Controller UI makes requests to the Controller API, which fetches data from one of the three data stores (EUM Server, Events Service, Controller). Because the Controller UI only interacts with the Controller API, it does not need to know where the data is stored. 

    diagram of browser RUM architecture

    Mobile RUM

    Mobile RUM data is stored in the Controller, the Events Service, and the EUM Server. The Mobile Agents send raw data to the EUM Server, where the data is verified, aggregated, and packaged every minute. The EUM Server then sends the data to the Events Service. The Controller UI makes requests to the Controller API, which fetches data from one of the three data stores (EUM Server, Events Service, Controller). Because the Controller UI only interacts with the Controller API, the Controller UI does not need to know where the data is stored. 


    Diagram of Mobile RUM architecture

    Data Storage Details

    Browser RUM

    The table below shows where different Browser RUM data is stored. To see how long the data is retained, see License Entitlements and Restrictions. Resource details are only available for those browser snapshots with resource timing.


    ControllerEvents ServiceEUM Server (SaaS/On-Premises)
    Browser Metrics

    Browser Snapshots

    Resource Details

    ✓ (filesystem)
    EUM Page Configuration
    (filesystem)
    Page View Events

    Ajax Events

    Session Events

    Metadata
    (MySQL)
    Licenses (SaaS)

    ✓ (MySQL)
    Licenses (On-Prem)

    (MySQL)

    Browser RUM Default Data Limits per App Key

    • Metrics: 100k

    • Pages: 500

    • Ajax Requests: 500
    • Max Event Size: 1 MB

    Mobile RUM

    The table below shows where different Mobile RUM data is stored. To see how long the data is retained, see License Entitlements and Restrictions.


    ControllerEvents ServiceEUM Server (SaaS/On-Premises)
    Mobile RUM Metrics

    Network Request Snapshots

    Custom Data
    Crash Analyze
    ✓ (filesystem)
    Events

    Session Events

    Metadata
     (MySQL)

    ProGuard/dSYM Files



    ✓ (filesystem)
    Screenshot Files

    (S3 for SaaS, filesystem for on-prem)
    Licenses (SaaS)

    (MySQL)
    Licenses (On-Prem)

    (MySQL)


    Mobile RUM Default Data Limits per Mobile App and App Key 


    UnitMetric LimitNetwork RequestsMax Event Size
    Mobile AppN/A5001 MB
    App Key100,0002000


    Controller Mapping of Data

    Browser RUM

    The table below shows the relationship between the Controller UI components and their data sources.

    Controller ComponentStorage Mechanism
    OverviewController
    Geo DashboardController
    Browser SnapshotsController (no resource details) / EUM Server (SaaS/On-Premises) (resource details)
    Usage StatsController
    SessionsEUM Server (SaaS/On-Premises), Events Service
    Pages & Ajax RequestsController / Events Service (limited)
    AnalyzeEvents Service

    Mobile RUM

    The table below shows the relationship between the Controller UI components and their data sources.

    Controller ComponentStorage Mechanism
    OverviewController
    Geo DashboardController
    Usage StatsController
    SessionsEvents Service
    Network RequestsController, Events Service (limited)
    Network Requests SnapshotsController
    CrashesEvents Service, EUM Server (SaaS/On-Premises)
    Crashes AnalyzeEvents Service
    Custom DataController
    EventsController

    How to Access EUM Data

    In addition to accessing EUM data through the Controller UI, you can also access EUM event data through Application Analytics and the AppDynamics APIs. The AppDynamics APIs include the Analytics Events API and the Metric and Snapshot API that you can use to access EUM metric data. 

    If you have enabled Application Analytics and Browser RUM, you can use Browser Analytics to view data for the following event types:

    If you have enabled Application Analytics and Browser Synthetic Monitoring, you can use Synthetic Analytics to view data for the following event types:

    If you have enabled Application Analytics and Mobile RUM, you can use Mobile Analytics to view data for the following event types:

    If you have enabled IoT Monitoring, you can use IoT Analytics to view data for the event types below. You do not need to enable Application Analytics to use IoT Analytics.

    Data and Deployment Models

    AppDynamics offers the two deployment models SaaS and on premises. You can access most Browser and Mobile RUM data from either deployment model.

    • No labels