Revolut Nov 16, 2021

Monitoring Performance of Screens in Your iOS App

Article Summary

Revolut's iOS team was drowning in vague performance reports. "This screen is laggy" became a detective hunt through Xcode Profiler with no clear starting point.

Arsen Gasparyan, an iOS developer on Revolut's trading product, built an automated performance monitoring system that measures every screen's lifecycle without manual instrumentation. The solution uses method swizzling and runtime magic to track viewDidLoad, viewWillAppear, and viewDidAppear execution times.

Key Takeaways

Critical Insight

The team now has continuous, automated performance tracking for every iOS screen without writing a single line of measurement code per controller.

The article reveals why the obvious swizzling approach fails spectacularly and how Objective-C runtime conventions solve the problem.

Recent from Revolut

Related Articles