Modern mobile apps increasingly rely on backend systems to power their functionality, such as requesting product information, authenticating users, or streaming media content. Over the past several months, we have worked hard to stay ahead of this trend by quietly releasing improvements to New Relic Mobile’s visibility into HTTP request performance. Now, we’re making these new capabilities generally available to our customers.
Our launch of Mobile backend API monitoring brings together new capabilities and improvements to our HTTP requests UI, HTTP errors UI, and HTTP error profiles. Backend API monitoring gives our customers access to valuable client-side monitoring data—improving alignment and facilitating collaboration between mobile development and backend API teams. Users will now have the ability to actionably resolve HTTP issues for their most business-critical endpoints.
Improving alignment between mobile development and backend teams
During our user research, we found that mobile teams typically focus first on addressing their high-priority crashes, using tools like crash analysis to get crash rates down to a manageable level. After achieving this milestone, teams commonly turn to an expanded set of problems around HTTP errors and requests—a trickier but important set of challenges to resolve.
These HTTP issues usually involve conversations between an organization’s mobile apps and backend endpoints. In fact, there are many backend issues that can lead to upstream mobile app crashes, freezes, and broken functionality that impacts end users: Changed API endpoints, bad payloads, API timeouts, non-versioned APIs, slow endpoints, and deprecated endpoints still used by older mobile app versions, among other potential problems.
In many cases, an organization’s mobile team does not own these backend endpoints and may not even have visibility into them. As a result, mobile teams often rely on other teams to troubleshoot and resolve these problems.
Our research defined our priorities for evolving New Relic Mobile: Empowering mobile development teams by enhancing their visibility into backend endpoints, improving their ability to collaborate with their colleagues on backend teams.
Shared visibility with Mobile backend API monitoring
We’ve released a set of features that address these priorities—allowing mobile development and backend API teams to better understand the performance of mobile app HTTP requests and HTTP errors. We also leverage statistical analysis to surface context around HTTP errors in order to accelerate troubleshooting.
Gain deeper visibility with the new HTTP requests UI
The new HTTP requests UI expands the breadth and depth of visibility into request performance. Users can see a full list of domains or URLs, and group or filter this data using more than 50 attributes, including request domains, status codes, session ID, and other custom attributes. This capability allows users to a review a larger set of endpoint APIs, as well as to drill more deeply into them to analyze mobile request data and to identify performance bottlenecks. Users can also sort and select request data by response time, transfer size, and request counts.
Identify and prioritize critical issues with the new HTTP errors UI
We have upgraded the HTTP errors UI with a similar set of improvements: leveraging high data cardinality to summarize simultaneously across endpoints and also to drill deeper into the data across different views.
The HTTP errors UI enables users to slice and dice their HTTP error data across a full list of domains and URLs. It includes more than 50 different attributes to pivot error data, including request domains, status codes, session ID, and other custom attributes. One such view pivots HTTP errors around the count of affected users—a capability which got a particularly positive response during our user testing. Mobile teams can focus on the most critical endpoints, triage the highest frequency errors specific to those endpoints, and even parse apart network failures from HTTP errors.
Troubleshoot errors faster with New Relic Applied Intelligence
As part of the new HTTP error profile UI, we’re now surfacing interesting attributes or behaviors associated with errors, helping to highlight contextual patterns that can accelerate troubleshooting. For example: An interaction named
Display PhonesListFragment happens immediately before 11% of successful HTTP requests. A comparison reveals that the same interaction happens before 98% of HTTP errors. This is a significant difference: If HTTP errors were evenly distributed, this interaction would be associated with the same percentage of errors as successful requests.
A mobile team viewing the HTTP error profile tab (as shown in the screenshot below) would see that this screen interaction is associated with a large number of HTTP errors and merits immediate investigation. Best of all, New Relic Applied Intelligence handles these error-profiling tasks quickly and accurately—extracting actionable insights from even the largest data sets. Mobile teams are able to focus on more valuable tasks—saving engineering time and gaining faster time to resolution.
The underlying Insights event types for these views (
MobileRequestError) remain available in New Relic Insights. Mobile users can easily facet and filter this data from within the Mobile UI, and then use the chart’s dot menu to move the query over to Insights, where users can then customize the chart or add it to a dashboard. Additionally, they can use a query to define a NRQL alert threshold, such as if an HTTP request is greater than 0.6 seconds. This workflow lets users to focus in on the most critical endpoints for HTTP errors and response time while having all of the most critical information pertaining to their apps in one place.
Focus on the most critical mobile endpoints and discover root causes
As we released and tested these features, we commonly saw teams drill into the most business-critical endpoints for their mobile apps and review this targeted HTTP request performance and HTTP error frequency data. Teams often had a sense of the most important endpoints and requests for a mobile app, but they didn’t know how well these were performing in the wild for their users—a blind spot that we fixed. The teams would group errors by request URL, search to narrow the list of URLs to those that they know are most relevant, filter against a relevant HTTP status code (e.g. a code 500 “internal server error”), and then start to drill into specific error occurrences, which they would then share across teams.
Finally, to catch spikes in response time for these most critical endpoints, the teams set up targeted NRQL alerts on these endpoints with shared Insights dashboards accessible to their mobile and backend teams. As a result, these teams dramatically improved their ability to make—and to celebrate—improvements to the most important areas of their mobile app experience.
We also saw teams use the broad data cardinality we discuss above to slice and dice across different application builds, locations, and user interactions, or even across custom events that they had set up in New Relic to pinpoint specific issues. One team, for example, found spikes in network failures and response times due to a network issue associated with a single city or a specific cellular/internet provider. Another team found that 100% of the occurrences of a particular HTTP error occurred after the same user interaction. With this data, our customers’ mobile teams gained better context around the root causes of their mobile app issues and accelerated their troubleshooting processes.
Evolving the mobile application monitoring experience
Modern mobile apps deliver sophisticated experiences that increasingly depend on an organization’s backend systems—placing new demands on the teams that own these systems and making it imperative for these teams to work more closely together than ever before. We’ve evolved New Relic Mobile to meet these needs with a faster, more functional, and more intuitive set of application monitoring capabilities.
To get the latest information about our improvements to New Relic Mobile, we suggest bookmarking the following documents:
- Solution guide: Troubleshooting HTTP Problems with MobileRequest/Error Data
- Technical docs: Mobile HTTP Requests
- Technical docs: Mobile HTTP Errors
Do you and your teams have ideas or suggestions for future enhancements to New Relic Mobile? Let us know in the New Relic Explorer’s Hub under Mobile—and many thanks to our preview customers for their feedback during our release process.