Как проверить в laravel / phpunit, сколько времени потребовалось для выполнения запроса?
Возможно ли, чтобы это не зависело от чего-то другого?
Самый старый способ — лучший
$start = microtime(true);
// Execute the query
$time = microtime(true) - $start;
С Laravel 5.2 listen
изменился только на один аргумент:
\DB::listen(function ($query) {
// $query->sql
// $query->bindings
// $query->time
});
Вы могли бы listen
чтобы выполнить запрос, как это и записать результат в storage/logs/laravel.log
,
\DB::listen(function ($sql, $bindings, $time) {
\Log::info($sql, $bindings, $time);
});
Вы могли бы просто использовать $time
только, но я вошел $sql, $bindings, $time
для завершения.
Вы можете положить это в свой AppServiceProvider
,
ОБНОВИТЬ:
В версии Laravel> 5.5 этот подход задокументирован в документе как прослушивание событий запроса 😉