Instead of filtering metrics after computation, skip the expensive database queries entirely for hidden metrics. This prevents timeouts on accounts with large datasets. - MetricBuilder now accepts hidden_metrics param and returns nil for hidden metrics (compacted from response) - Reports controller passes hidden_metrics to builder params