On this page:
On this page:
You set up and configure Mobile RUM in two areas:
- Your AppDynamics Controller
- Your iOS and/or Android application
To prepare Mobile RUM you need to make changes in both these areas in a particular order.
You need to do the following:
- Check your prerequisites
- Review Controller capacity
- Evaluate your mobile application
- Enable Mobile RUM on your Controller
- Instrument and verify your app
- Configure network request naming and thresholds
Check Your Prerequisites
Before you can use AppDynamics to monitor your mobile application you need to make sure you have the following prerequisites:
- An AppDynamics account, with access to an AppDynamics controller
- A Mobile RUM LIcense. See Mobile RUM Licenses.
- Access to your mobile application source code
Review Your Controller Capacity
If you use an on-premises Controller and plan to monitor mobile applications, assess your Controller's capacity to accommodate the increase in the number of metrics that Mobile RUM will generate. The number of individual metric data points generated depends on the level of activity of your mobile applications. As a rough guide the use of Mobile RUM can increase the number of metric data points by as much as 15 to 25K per instrumented application, if your applications are heavily accessed by mobile users. The actual number depends on how many network requests your applications receive.
The number of separate RUM metric names saved in the Controller database can be larger than the kinds of individual data points saved. For example a metric name for a metric for iOS 5 might still be in the database even if all your users have migrated away from iOS 5. So the metric name would no longer have an impact on resource utilization, but it would count against the default limit in the Controller for metric names per application. The default limit for names is 200,000 for Browser RUM and 100,000 for Mobile RUM.
For more information about Controller sizing see Hardware Requirements per Performance Profile.
Evaluate Your Mobile Application
Out of the box, Mobile RUM can monitor your application in two ways: network requests and crash reporting.
If you want to collect information on network requests, your application must make HTTP calls using specific classes:
- An iOS application must use
NSURLSessionto generate network requests.
- An Android application must itself (ie, not via an external framework) use
ch.boye.httpclientandroidlibto generate network requests.
- Using the SDK, custom HTTP libraries can also be monitored and used by the agent itself. See Use the APIs of the iOS SDK to Customize Your Instrumentation and Use the APIs of the Android SDK to Customize Your Instrumentation for more information.
Enable Mobile RUM on Your Controller
Your data is displayed in the Controller UI in the context of an EUM application, which can be any name you choose. An EUM application name is associated with an EUM App Key, which identifies data coming into the Controller.
Your Controller must have a Mobile RUM license before you can enable the Mobile RUM functionality unless you are using the Getting Started Wizard.
- If you do not yet have an EUM application, click the User Experience tab, the Mobile Apps tab and the +Add button. Select Android or iOS and follow the Getting Started Wizard to create your application name and to instrument your application and set up Mobile RUM.
- If you already have EUM applications, open the one in which you are interested.
- In the left navigation bar of the application UI, select Configuration.
- Select the Mobile Apps tab
- Check the Enable Mobile checkbox. If you do not see the checkbox, make sure you have applied your Mobile RUM license to your Controller.
Disable Mobile RUM on Your Controller
To disable Mobile RUM, uncheck the Enable Mobile check box.
Instrument and Verify Your App
The method you follow to instrument your app depends on your platform:
- Instrument an iOS Application - CocoaPods
- Instrument an iOS Application - Manual
- Instrument an Android Application - Maven Central
- Instrument an Android Application - Manual
- Verify Your Instrumentation
Configure Network Request Naming and Thresholds
You can customize how you want the Controller to name your application's requests and what performance thresholds you want to be in effect. See Configure Mobile Network Request Naming and Thresholds.
Mobile RUM is made up of several components, any or all of which can either be located on the Internet or hosted inside your own data center/network. On-premises access points are configured at installation or through the UI. But if your installation requires access to any of these components on the Internet, the following is a list of the locations where the various components can be accessed. You need to make sure the appropriate URLs are accessible from your network.
- The Mobile agent sends its data from the browser to the EUM Cloud. On the Internet, the mobile app sends its beacons to
- The EUM Cloud sends analytics data to the Events Service. On the Internet, the EUM Cloud sends its data to
- The Controller fetches data from the EUM Cloud. On the Internet, the Controller fetches data from
- The Controller queries the Events Service. On the Internet, the Controller queries