1. A method comprising: collecting performance profile data about a machine instruction located within a module, the performance profile data including parameters associated with the machine instruction; analyzing the parameters associated with the machine instruction; based on the analysis and during a compile of the module, determining to place a snapshot instruction immediately before the machine instruction within the module; based on the determination, placing the snapshot instruction immediately before the machine instruction within the module; subsequent to the placement, executing the module; and during the execution of the module, storing, in a memory, values of variables associated with the module when the snapshot instruction is executed.