connection->getQueryBuilder()->runAcrossAllShards(); $metrics = $qb->select('mimetype', $qb->func()->count('*', 'count')) ->from('filecache') ->where($qb->expr()->like('path', $qb->createNamedParameter('files/%'))) ->groupBy('mimetype') ->executeQuery(); if ($metrics->rowCount() === 0) { yield new Metric(0); return; } $now = time(); foreach ($metrics->iterateAssociative() as $count) { yield new Metric( $count['count'], ['mimetype' => $this->mimetypeLoader->getMimetypeById($count['mimetype']) ?? ''], $now, ); } } }