Jacob’s Tech Tavern

Jacob’s Tech Tavern

Share this post

Jacob’s Tech Tavern
Jacob’s Tech Tavern
Performance Analytics

Performance Analytics

Actionable steps for crowd-sourcing your performance profiles

Jacob Bartlett's avatar
Jacob Bartlett
Aug 05, 2025
∙ Paid
5

Share this post

Jacob’s Tech Tavern
Jacob’s Tech Tavern
Performance Analytics
1
Share
Today, I think you’ll find, tracking performance in production is elementary

Running a trace on Instruments is the gold standard for performance. But performance is not all things to all people. Your user-base is split across countless permutations of device, OS version, and tolerance for frame-drops.

Perhaps your code runs great on your company-issued 16 Pro Max. But for little Tymmy (he’s gen alpha), who can only afford a geriatric iPhone 7 on lemonade revenues, it eviscerates his little quad-core A10 CPU.

Instruments works wonders for a focused assault on a known performance problem, but for anything larger than a toy app or small side project, you can’t just profile everything, all the time.

Unless you have a gaggle of SDETs on the payroll (because apparently we are back in the 90s), you also probably don’t have a suite of nightly UI tests to catch performance regressions.

So what am I getting at here?

Today I’m sharing a technique I created which allows you to crowdsource app performance metrics direct from your users, by piggybacking on your existing analytics system:

Performance Analytics.

If you aren’t tracking performance metrics like this, you’re leaving breadcrumbs on the table. Once you start, you’re the oracle: the first person at your company to know about performance problems, uncovering and fixing user issues before the first bug report comes through.

We’re going to look at various performance metrics you can crowdsource and look at how each one can be used to improve your app:

  • Thermal profiling

  • CPU and memory usage

  • Battery level and status

The technique helps catch hot paths in your code, and quickly flags up inefficient user flows that are killing your users in the wild. Next, I’ll demonstrate how you can use this data as a jumping-off point for more elaborate performance diagnostics using Instruments.

Subscribe to Jacob’s Tech Tavern for free to read ludicrously in-depth articles on iOS, Swift, tech, & indie projects in your inbox every week.

Paid subscribers get much more:

  • Read this article, plus all my Elite Hacks, my exclusive advanced content 🌟

  • Get my free articles 3 weeks before anyone else 🚀

  • Access my full Swift Concurrency course 🧵

Keep reading with a 7-day free trial

Subscribe to Jacob’s Tech Tavern to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2025 Jacob Bartlett
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share