Its not possible to have Snapshot over a period of time: For that you need to go for EVENT MONITOR.
1> For the requirement you mentioned: this is what you can do.
Write a Shell script to have a check on your server to run after every 5 minutes or so which will look-into the CPU utilization. Once the CPU is above > 60% (e.g.), just take the DB/Application Snapshot. Sleep for 2 Minutes or so, then Again the CPU load, if it still beyond 60% again take the next SNAPSHOT and so on. Continue to Take Snapshots after every 120 Seconds till your CPU Load is beyond 60% (the threshold you set).
You can periodically check those Snapshots to see which were the contributing applications (with detail) during HIGH-Load period.
Thanks,
Jayanta