1. A method for computing wait time, comprising: detecting a request for a given resource by one or more resources; and computing, by 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, wherein computing the requesting critical wait time of the given resource comprises: adding the one or more resources to a set of resources requesting the given resource; determining a weight factor as number of resources in the set of resource, which are waiting solely for the given resource; starting a timer associated with the requesting critical wait time, the timer incrementing by the weight factor in every time increment that the timer is running.