*/ private static array $_entries = []; /** * Добавляет запись о выполненном запросе. * * @param string $sql SQL-запрос * @param array $params Параметры запроса * @param float $time_ms Время выполнения в миллисекундах * @param string $driver Имя драйвера (для отчёта, если профилируются разные бэкенды) * @return void */ public static function log(string $sql, array $params, float $time_ms, string $driver = 'pdo'): void { self::$_entries[] = ['sql' => $sql, 'params' => $params, 'time_ms' => $time_ms, 'driver' => $driver]; } /** * @return array */ public static function entries(): array { return self::$_entries; } /** * @return float Суммарное время всех залогированных запросов, мс */ public static function totalTime(): float { return array_sum(array_column(self::$_entries, 'time_ms')); } /** * @return int Число залогированных запросов */ public static function count(): int { return count(self::$_entries); } /** * Очищает накопленные записи. * * @return void */ public static function reset(): void { self::$_entries = []; } }