I think most of the slow queries can be identified and fixed by simple rules with a proper tool. Like https://docs.percona.com/percona-toolkit/pt-query-digest.htm... . Have you done any benchmark about the accuracy of your tool?
DeepSQL does continuous evaluation of queries, we maintain performance life cycle of a query by customer.
A dashboard query for customer A might run for 2s, but for customer B it would take 50s. Here data clustering is the problem, skewness of distinct join keys … various factors. If query fix has to happen by looking at that query alone, one would make wrong decision (probably creating index). But a holistic decision would be partitioning here.