Performance analysis tools provide a range of analysis levels, from simple timing of a command to a statement-by-statement analysis of a program. While a flat profile can provide valuable data for performance improvements, sometimes the data is not sufficient to point out exactly where improvements can be made. You can obtain a more detailed analysis by using the call graph profile to identify which modules are called by other modules, and which modules call other modules.