1. A method for automatically identifying computer system performance bottlenecks and/or excess idle time, comprising: collecting information associated with runtime execution of a computer system; inferring, using a processor, one or more execution states of one or more tasks within the system.