How does UEM work?

AppMon User Experience Management (UEM) captures transactions triggered within browsers (desktop or mobile) or mobile apps from end to end: browser or app, over web server and application server, into the database.

UEM for Web Applications

AppMon uses JavaScript code, called the JavaScript Agent, to measure user interactions on your web site. The Web Server or Java Agent (Server-side Agent) automatically injects the JavaScript Agent into your HTML code. When executed in the user's browser, it continuously sends performance and other data to the web site where the Server-side Agent runs. The Server-side Agent intercepts these requests and sends them to the AppMon Collector, and to the Server where they are evaluated and correlated to Server-side PurePaths.

UEM for mobile apps

The Mobile App ADK for Android and iOS lets you capture transactions within mobile apps. A library with a simple API must be called in the mobile app code to indicate the start and stop of a user action. The captured data is sent to a server-side Agent, where it's handled analogous to the data sent by the JavaScript Agent as previously described. See the Mobile UEM for more information.

UEM only vs. Full-stack

AppMon lets you monitor user experience only, without capturing any server-side data. With a UEM-only solution you don't have to utilize technology capturing Agents like Java or .NET. You still need the Web Server Agent to collect data from the JavaScript Agent. This Agent can be installed at any server machine, not necessary the machine producing monitored pages. However, you can only inject the JavaScript Agent automatically if the Web Server Agent is installed at the same machine. Otherwise you have to inject JavaScript Agent manually. The table below lists which information and features are available for UEM-only solution, comparing to the full stack solution.

Feature UEM only Full stack
Automatic JS Agent injection Yes 1 Yes
Analyze PurePath No Yes
HTML Error codes capture No Yes
Frontend data capture No Yes
Backend data capture No Yes
Business Analytics Yes Yes
World Map Yes Yes
User analytics Yes Yes
Omni channel Yes Yes
Visits Yes Yes
User actions Yes Yes

1 Only if Web Server Agent, collecting data from the JavaScript Agent, is installed at the server machine which generates the web page.

What is a User Action?

A user action contains all client activity during the transition from one state to another. Every user action contains at least one web request. For example, when a user navigates to a page, the browser downloads many resources and calls the JavaScript onload handler, which in turn might perform XHR requests, or other actions.

A user action's duration is called response time. It represents the time the user waits until it is possible to continue with the use case. A low response time indicates better performance than a high one.

What is a visit?

A visit is a group of user actions performed by the same user within a certain time period. It is created with the first user action and ends after the user is inactive for a specified period of time. See System Profile > User Experience for more information. This user inactivity time setting defaults to 30 minutes. You can define it on an application-level (System Profile - Applications). A visit represents the user's click-path and helps to analyze problems. A visit duration is calculated from the start of the first user action to the end of the last user action.

What is Apdex?

Apdex (Application Performance Index as defined by the Apdex Alliance) is an open, standard way to depict the performance of User Actions. Apdex is a ratio of slow and fast requests. It is application independent and represents performance as a single value between 0 and 1. Everything lower than .5 is unacceptable everything higher than .93 is excellent. Use this value to compare the performance of different applications and to understand long-term performance trends.

What is the User Experience Index?

AppMon uses the term User Experience rather than Apdex. User experience analyzes how the performance is perceived by the application's users, and categorizes visits into satisfying, tolerating and frustrating, depending on the performance of user actions and errors.

  • Users have a frustrating experience if:

    • Their last action failed (The Web site does not work - I'm leaving.).
    • Their last action was frustrated (The Web site is too slow - I'm leaving.).
    • More than 50% of all actions were frustrating.
  • Users have a satisfying experience if:

    • No action failed.
    • More than 50% of all actions were satisfying.
  • Users have a tolerating experience if their experience is neither frustrating or satisfying, which means that:

    • Their last action was not frustrating or failed.
    • Less than 50% of all actions were satisfying.
    • More than 50% of all actions were at least tolerating.

Geographical location

AppMon captures the client IP address. To do this, it watches for appropriate HTTP headers and converts this address to a geographical location with a built-in database. See Configure Geographic Location for more information.

Specific concepts for Web Applications

Specific concepts for mobile apps

See System Profile - User Experience for more information.