1. A computer implemented method for detecting performance bottlenecks in a target application, the computer implemented method comprising: responsive to receiving hotspot selections from a user interface, wherein a hotspot is a region of source code that exceeds a time threshold to execute in the target application, extracting bottleneck rules from a database; identifying metrics needed to evaluate the bottleneck rules extracted from the database; computing the metrics needed to evaluate the bottleneck rules to form computed metrics; determining whether each bottleneck rule extracted from the database is evaluated to true using the computed metrics for hotspots in the target application; responsive to determining that a bottleneck rule is evaluated to true using an appropriate computed metric corresponding to the bottleneck rule, creating a bottleneck description for the bottleneck rule; and sending the bottleneck description to the user interface.