In chapter 6, I said a profiler is a powerful tool that can show you a path when all the lights have gone out. But what we discussed was just a small part of the profiler’s capabilities. A profiler offers powerful tools for investigating an app’s execution, and learning to use these tools properly can help you in many scenarios.
In many cases, I have had to evaluate or investigate app executions for codebases I could barely read—old apps with poorly modeled code design, which some companies kept hidden in a wardrobe. In such cases, the profiler was the only efficient way to find what was executing when a specific capability was triggered. Now you can see why I compared a profiler with the light of Eärendil: as Galadriel says, it really was a light in many dark places where all the other lights were out.