1. A method performed on a computer processor, said method comprising: identifying a first set of checkpoints in an application; for each of said first set of checkpoints, establishing a checkpoint function call that causes a checkpoint identifier and a timestamp to be captured; executing said application and capturing said checkpoint identifiers, said timestamps, and workload identifiers for each of said first set of checkpoints; identifying a first bottleneck between a first checkpoint and a second checkpoint; identifying a second set of checkpoints between said first checkpoint and said second checkpoint; for each of said second set of checkpoints, establishing one of said checkpoint calls; executing said application and capturing said checkpoint identifiers, said timestamps, and said workload identifiers for each of said second set of checkpoints; and identifying a second bottleneck between a third checkpoint and a fourth checkpoint, said third checkpoint and said fourth checkpoint being from said second set of checkpoints.