1. A method for computing wait time, comprising: detecting a request for a given resource by one or more resources; and computing, using a processor, a requesting critical wait time of the given resource, the requesting critical wait time being time spent by the one or more resources waiting for the given resource, wherein at least one of the resources waiting for the given resource can proceed if access to the given resource is granted.