Troubleshooting RUM for mobile apps
On this page, you can find out how to solve general problems related to mobile application monitoring.
General troubleshooting
If you've encountered an issue related to mobile application monitoring, first ensure the following:
-
Your technology is supported by Dynatrace. See Technology support | Mobile app Real User Monitoring.
-
You're using the supported version of the OneAgent SDK or Dynatrace Android Gradle plugin. See the table under How long are versions supported following rollout?.
-
The issue that you're experiencing is not related to any of the currently known limitations. Check one of the following pages:
- Dynatrace Android Gradle plugin | Instrumentation-specific limitations
- Dynatrace Android Gradle plugin | Build-specific limitations
- OneAgent for iOS | Known limitations
- Instrument SwiftUI controls | Known limitations
- Dynatrace Cordova Plugin | Troubleshooting and current restrictions
- Dynatrace Flutter Plugin | Known issues
- Dynatrace React Native Plugin | Troubleshooting and applicable restrictions
-
You've enabled logging and checked the logs to see what went wrong. See the information below on debug logging for the following technologies and operating systems. You might also need to provide the logs if you decide to contact Dynatrace Support.
-
The other monitoring tools that you use are compatible with Dynatrace. See the related information for Android or iOS.
Specific issues
To troubleshoot specific issues, expand one of the sections below.
You might have to adjust the application or server infrastructure to allow OneAgent to reach Dynatrace. Explore Adjust communication with OneAgent SDK for Android or OneAgent for iOS advanced configuration for more information.
The following list contains some problems that you might experience.
- Verify that you used the correct application identification keys:
applicationId
andbeaconUrl
. These are provided in the mobile instrumentation wizard for Android or iOS in the Dynatrace web UI.- For standard Android projects, the application identification keys are located in the top-level build file. See Instrument your application via Dynatrace Android Gradle plugin for the example.
- For iOS projects, the application identification keys are stored in the
Info.plist
file.
- Ensure that you adapted Network Security Configuration correctly. You should include system CA certificates.
Check if Dynatrace is reachable from within your company network.
You might have missed one of the configuration steps described in Instrument hybrid apps.
OneAgent truncates such reported values when they exceed 250 characters.
Dynatrace automatically instruments most web requests. However, you have to manually instrument web requests in certain cases. Check the information on web request monitoring for OneAgent SDK for Android, Dynatrace Android Gradle plugin, or OneAgent SDK for iOS.
For the Dynatrace Android Gradle plugin, web requests might be missing when you use the Firebase plugin.
OneAgent only attaches web requests to a user action triggered within a specific timeframe. The timeframe starts when the action opens and ends 500
ms after the action closes. You can change this value with the timeout
property for Android or with the DTXAutoActionTimeoutMilliseconds
configuration key for iOS.
To construct user action names, OneAgent captures the control title from different attributes/fields, so make sure that you pass the correct values to these attributes/fields. For details, see the information on user action naming for Android, iOS, or our React Native plugin.
You can also define user action naming rules to change the automatically generated names to a predefined name. See Create custom user action names for mobile applications.
A 'Max. user actions per minute exceeded' event informs you that the number of user actions generated from Real User Monitoring (Web, Mobile, and OpenKit) has exceeded a limit that is specific to your environment. Once this limit is reached, Dynatrace automatically throttles the number of user sessions being captured until the number of user actions is below the limit again. The throttling is done on a user session basis in order to provide statistically correct values in Dynatrace. If the overall traffic volume drops, Dynatrace will automatically return to the capturing rate you've set for your environment.
Why does Dynatrace change the capture rate?
The maximum user action count per minute limit is specific to your environment and is there to prevent unexpected high consumption of your license volume by unexpected IT events like unannounced marketing campaigns, unplanned load tests, DDoS attacks, aggressive web scanners, or other.
What is the impact on the data visible in the Dynatrace UI?
During the event period, Dynatrace reduces the amount of captured user sessions on the cluster side. Some of the sessions aren't captured and therefore no further analysis is applied.
All count metrics are impacted (for example, user session count, user action count, and conversion count).
Rate metrics (for example, JavaScript error rate, conversion rate, crash rate, and bounce rate) aren't impacted, since sessions are either captured fully or not at all.
Capture of the user session on the cluster side has no impact on the injection of the RUM JavaScript.
Can my environment limit be changed?
Increasing the user action per minute limit leads to analysis of more user sessions and, therefore, also increases your DEM consumption.
How do I know if my RUM application has exceeded the limit?
The User sessions page displays the following type of alert:
The Maximum user actions per minute limit events are listed under the Events and Impact of user actions on performance sections of the corresponding application overview page.
An alert is also displayed under the Performance section of User actions.
Technology-specific troubleshooting
For issues specific to your technology or operating system, check one of the following pages:
- Dynatrace Android Gradle plugin FAQ
- Instrument SwiftUI controls | Troubleshooting
- Dynatrace Cordova Plugin | Troubleshooting and current restrictions
- Dynatrace Flutter Plugin | Troubleshooting
- Dynatrace React Native Plugin | Troubleshooting
- Instrument mobile apps with Dynatrace Xamarin NuGet package | Troubleshooting
- Instrument mobile apps with Dynatrace .NET MAUI NuGet package | Troubleshooting