Skip to main content

 

Splunk Lantern

Troubleshooting problems with mobile applications

Applicability

  • Product: Splunk Real User Monitoring, Splunk APM
  • Feature: Splunk RUM for Mobile
  • Feature: Troubleshooting, analysis
  • Function: Using RUM, Using APM

Problem

You are part of a team developing a mobile application for your organization and you are getting ready to release it. This is going to be a major new differentiator for your company, and there's a lot riding on this release.

Your unit and integration tests highlighted a lot of defects that have since been fixed, however you're still not sure if these have fixed all of the problems with the app, since every phone and iOS version out there can't physically be tested in your QA and Dev environments.

Your app is complex, and you need to get more visibility in navigating its complex dependencies, understanding how your back end changes affect the front end, as well as understanding how your app performs on different devices, OS and app versions.

Solution

  1. Open Splunk Real User Monitoring where the overview page will appear so you can see some key performance indicators for how your system is performing. You can see app crashes and errors, the number of sessions, application lifecycle events and metrics generated from these. You can also choose the time range, environment, app and source in this area.
  2. Under the Endpoint Errors section, you can see that there is an error occurring. Click see all to find out more, or drill down on a specific endpoint to continue troubleshooting.

clipboard_ee3cccd249cb807867d5795212734665a.png

  1. This takes you to the Tag Spotlight screen where you can continue troubleshooting. This page shows the endpoint errors across many different dimensions or tags. For example, you can choose to filter further via a HTTP status code, as you can see in the highlighted box below.

clipboard_e228e1cfc1cde4a121da92cba8da48d90.png

At this point, if you need to filter the data by OS, device, environment or app version, for example, you can do so using the dimensions listed in this area.

  1. The table below shows a list of example sessions matching the criteria selected in the filter. Each example session also provides a lot of data about a session span, for example, the associated operation (GET), and what the Start Time is associated with. You can click on any of the example SessionIDs to find out more.

clipboard_e425fb5d0896f4fe3a3c1fa564e87d1b7.png

  1. Clicking an example SessionID takes you to the matching span in the Session details page when you can continue triaging the issue. The example below shows the span associated to the 500 HTTP error. Lower down the screen in this area you can see collected tags, for example, app and app version, device model name and more. This helps you understand the exact environment where the error occurred.

clipboard_ecbfadcfdaa61198ecca759a97f6b7e51.png

  1. Once you have instrumented your back-end APIs or your back-end code with Splunk APM, here you'll also see an APM link. Hover over this to access some meta data and see the Trace ID. Click on the Trace ID.

clipboard_ebdc9bfa1ca8ba6a17afd187910bcab9c.png

  1. Within Splunk APM the Waterfall view opens. Clicking the 500 error shows you other tags that the backend code is collecting which correspond to this error.

clipboard_ee90ac203f20c8e512092b54b449a6439.png

  1. To get a different view of errors in the system, go back to the Overview page in Splunk Real User Monitoring and change some attributes - for example, selecting a time range of one hour and adding a Mobile source filter. In this view you can see crashes that correspond with the Pixel 3 device.

clipboard_e2f4380e9fb692b8a44f9b44f71c0f5c1.png

  1. Click Tag Spotlight to see more. Here you can see a number of operation errors, and by clicking on one of these you can access more information about the error.

clipboard_e436e7d9ff595449a095ec22df62f7ab5.png

  1. Under Example Sessions, as before, click the session ID.
  2. Within the Session Details you can see the exact area within your code where the error occurred, allowing you to make a fix quickly and easily.

clipboard_eb16f103845eb26183fb01dc564130f49.png

Additional resources

The content in this guide comes from a .conf21 session, one of the thousands of Splunk resources available to help users succeed. In addition, these Splunk resources might help you understand and implement this use case:

  • Was this article helpful?