All of these questions are answered by one of the tech webinars. Putting down the notes if anybody is interested :
1) Snapshots are instances of a business transaction which is used to troubleshoot a business transactions.
2) Snapshots are not taken on every single request because a) Lot of noise gets generated. b) Lot of overhead.
3) When are the snapshots collected:
a) Periodic collection , when few normal business trans or requests get generated.
b) When a slow or error transaction is detected.
c) Diagnostic Session - Manual, Excessive,
Periodic Snapshots:
Every 10 minutes, this interval can be changed "configure->slow transaction threshold->default thresholds.
4) Slow and error transactions are automatically captured in Snapshots.
5) If there is an error transaction it may not necessarily have the call graph because there may be no code execution., but the error will still be captured.
6) Diagnostic session instructs the appd to capture the snapshots manually or automatically.
Manually :
Business Transactions dashboard -> Actions -> Start diagnostic Session .
Collected sessions will be captured under Transactions Snapshos -> Diagnostic sessions.
7) Hotspots are the slowest calls in the call graph.Right click on the call graph and click "Show in the call graph"