What is Mobile RUM?
Mobile Real User Monitoring (Mobile RUM) allows you to understand your native iOS or Android mobile application as your end users actually use it. It provides you with visibility into the functioning of the application itself and the application's interactions with the network it uses and any server-side applications it may talk to. You can:
- Understand and improve your mobile application's performance
- Determine whether a request is slow because of your servers or because of the network connection. See .
- Trace an individual request from the initial user action in the mobile application through the associated business transaction(s) on the application server(s). See Network Request Snapshots.
- Estimate the network performance you can expect for different requests, carriers, devices, and geographies by viewing current metrics. See Usage Stats in The Mobile App Dashboard.
- Reduce crashes
- Reduce errors
- Learn about your users
- Customize the data that Mobile RUM returns
- Create new metrics and timers. See Use the APIs of the iOS SDK to Customize Your Instrumentation and Use the APIs of the Android SDK to Customize Your Instrumentation.
- Collect diagnostic data from your executing code via information points. See Use the APIs of the iOS SDK to Customize Your Instrumentation and Use the APIs of the Android SDK to Customize Your Instrumentation.
How It Works
To use Mobile RUM you add a small piece of highly performant code, the mobile agent, to the source of your mobile application. This process is called instrumenting and is described here. As your end-users interact with your application, the agent collects metrics and any error information on the application's performance and sends that information to the EUM Cloud, where it is processed. The EUM Cloud then makes the data available to the AppDynamics controller UI, where it is displayed in a series of dashboards and charts. If your application crashes, the agent also creates a crash snapshot with information to help you analyze what happened, including the crashed function, the source file containing the crashed function, the line number, if available, and a stack trace of the application at the time of the crash, along with various other identifying data. And if the server-side application with which your mobile app interacts is also instrumented, you can get correlated metric information for the entire round-trip request life-cycle.
Data collected by the agent is sent to the Cloud for processing when the agent detects that the application it is monitoring is already using the network, minimizing the time that the device's radio is in a high power state. The data is sent in a beacon, a bundled set that is around 200-400 bytes. If for any reason the Cloud is not available, the agent buffers data locally.
If the Cloud is unavailable for extended periods of time, the agent may delete older data to prevent unbounded growth in the buffer.
Licensing and Enabling Mobile RUM
Mobile RUM requires a separate license from that for your application server and for Browser Real User and Synthetic Monitoring, and must be enabled before it is available for use.
For information about licensing, including a description of the two types of licenses, Lite and Pro, see Mobile RUM Licenses.
For information on enabling or disabling Mobile RUM monitoring, see Enable Mobile RUM on Your Controller.
AppDynamics Mobile RUM allows you to investigate the performance of your mobile application. AppDynamics Mobile App allows you to monitor your Controller from your mobile device.