As the world increasingly works, buys, and communicates through native mobile apps. In 2020 there were 218 billion new app installs globally, 13.4 billion from the US alone. The challenge, while iOS and Android applications make up significant portions of user traffic and business, engineering teams and monitoring tools are split between mobile app and backend developers; this creates siloed visibility on how changes to the app or backend components impact each other, and end user experience.
We’re proud to announce the general availability of Splunk RUM for Mobile, which extends Splunk’s monitoring of customer experience beyond web browsers, and into native mobile applications, helping mobile app developers and SREs analyze and pinpoint customer facing issues on iOS and Android. Along with Splunk Synthetic Monitoring, APM, Infrastructure Monitoring, Log Observer, and Splunk On-Call, Splunk RUM helps improve customer experience and solve problems faster across your entire environment.
Improving Customer Experience on iOS and Android: Overview
Customer experience on mobile drives digital business outcomes. Teams responsible for building and troubleshooting native mobile apps want three benefits from their monitoring:
- Visibility into complex app dependencies (eg. SDKs, backend APIs, etc)
- Application performance breakdowns by devices, operating systems, OS versions, app versions (eg. performance in production)
- Full stack visibility (eg. removing silo’s to connect the frontend and backend)
Extending Splunk RUM’s end-to-end tracing, full-fidelity session capture, OpenTelemetry standardization, and real-time data streaming, Mobile RUM provides a complete view of performance from the end user experience on iOS and Android to backend services and third party dependencies, helping engineers pinpoint the source of customer-facing issues, and improve user-experience on mobile apps.
Getting started is as easy as adding four lines of code. Splunk is open sourcing the instrumentation libraries for both iOS and Android. Strong out-of-the-box instrumentation means you can get started in minutes, and if you want to customize you have complete flexibility to add any attribute, event, or metadata. Here’s a quick walkthrough of Mobile RUM from two common workflows:
Workflow One: Quickly Identifying Production Issues
Engineers can quickly pinpoint production issues with full context from the end user experience on iOS and Android, through complex dependencies from 1st party and 3rd party requests and libraries.
Engineers troubleshooting customer facing issues don’t need to use a separate monitoring tool for their mobile traffic. Simply toggle from “browser” to “mobile” traffic.
The overview page shows us a high level summary of application health. On the left side, view key performance indicators like app launches, key end user attributes, and total crashes and errors. In the middle screen are tiles that display request and response measurements for endpoint errors and endpoint latency, application errors and crashes with specific URLs, and application lifecycle events and metrics for your applications like app start, or cold start time, from device and operating system.
By clicking into “Endpoint Errors” we’re taken into Splunk’s tag spotlight feature which helps identify and correlate problems across dimensions in our environment like OS, OS version, App, App version, device, URL, and more, as we isolate issues across our environment.
Clicking into “example sessions” shows us user sessions from our selected time range, which helps understand common characteristics in sessions with errors or latency. Shown here, the errors are mostly found on two screens, o11y_alert_details_screen and o11y_dashboard_list_screen.
Clicking into an individual session takes us to the exact event, or span in the session details page, and shows a waterfall breakdown for latency, and metadata, including mobile specific dimensions collected from the error.
Clicking into the error itself takes you to the session details page. Since we’ve instrumented our application with Splunk APM for the backend, we’re able to tie the exact API call / request initiated from the mobile app, with the application’s backend traces, to provide full stack visibility. Here we can see session charts, details on user characteristics, mobile specific dimensions and tags, and several groupings (app start, endpoint errors, app errors) from the session itself. For troubleshooting backend issues, click on the “APM” link in the waterfall chart.
Workflow Two: Identifying the Blast Radius of an Issue
If you hear that the new release of your app is slow, you can quickly go into mobile rum to see the distribution of your app startup time across all your user sessions. Splunk RUM provides out of the box breakdowns of app version, OS, OS version, and device. Now you can quickly isolate app startup issues across a specific device and OS like Nokia1 running Android 7.1, and prioritize the issue appropriately.
The overview page shows your app startup time, cold and hot. Tag spotlight allows you to isolate which devices, app versions, and OS’s are impacted by this problem.
End-to-End Monitoring to Identify the Source of Problems Faster
Splunk Mobile RUM connects frontend performance on web and mobile applications to your backend services, connecting each user session with respective backend operations. From a high level overview of app performance, to stack traces and individual spans, events, and breadcrumbs, Splunk’s Full fidelity session capture helps isolate issues anywhere across a production environment. SREs or service owners responding to issues can effectively analyze the customer impact of latency and errors, and correlate client attributes and determine radius of impact of errors and performance issues with Splunk RUM’s directed troubleshooting capabilities. Finally, comprehensive performance monitoring goes beyond crashes and errors to help measure and understand which OS versions, app versions and screens are leading to user frustration.
The Splunk Difference for Mobile Monitoring
Splunk Mobile RUM builds upon a few key differentiators from our Observability platform. For getting started, we offer super quick time to value with OpenTelemetry-based iOS and Android libraries that auto-capture common client attributes, app lifecycle events, screen names, network requests and errors, app errors, and crashes. Full fidelity session capture with end-to-end tracing gives you a complete view into user sessions for rapid root cause analysis.
Deliver Better Mobile Experiences
Splunk’s Mobile RUM quickly shows performance across your entire stack, from crashes and mobile performance on the client side, to errors or latency from database calls in your backend services. Within Splunk’s Observability platform, it helps you analyze and improve user-experience in context across your entire environment.