I'm curious what you would like instead of spinners? This product makes database calls that could take an unknown amount of time to complete. How should they indicate to the user that they are waiting for the data to build the chart?
In the example dashboards, I'm guessing something like 100% of requests make exactly the same queries. Maybe in a typical corporate dashboard, 70% of users will pull up the default view before leaving. These cases easy to optimize for and definitely worth optimizing for
If I owned the database they were getting data from, I'd be mighty upset at the insane amount of useless queries they'd have to make guessing what the user wants.
We only did this because of the extreme value Google brings via traffic. But most crawlers and other things that made speculative queries like that were just banned.