Chapter 12. Instrumentation and Analytics

When we develop an app, the initial set of optimizations are based on best practices, guidelines, and the data collected from developer machines and/or the lab. However, that is only the first set of data available for analysis.

It isn’t until the app is released that we begin collecting real data across devices and geographies that will help identify usage patterns and various scenarios that need tuning.

In Chapter 1, we looked at the parameters that we want to measure and fine-tune the app for, including the following:

  • Memory usage

  • Response time

  • Network usage

  • Local storage

Now that we have discussed various strategies for improving the user experience, and identified specific ways to make apps more performant, it’s time to collect data from real users, analyze app usage, identify any bottlenecks, provide fixes and updates, and make users happier.

This chapter is about analyzing production data collected to identify app usage trends, user behavior, areas for improvement and optimization through instrumentation, analytics, and real user monitoring (RUM).

Vocabulary

Before we proceed further, let’s look at some vocabulary that will be useful as we progress through this chapter:

Attribute

A parameter whose value needs to be captured. Examples include app version, OS version, location, language, memory in use, and so on.

Event

Anything that happens in the app, whether it is triggered by the user or the app itself.

Examples ...

Get High Performance iOS Apps now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.