Сам Laravel определяет microtime
в index.php
define('LARAVEL_START', microtime(true));
Таким образом, вы должны сделать то же самое после запроса и вычислить разницу
$begin = microtime(true);
$arf = App\Roles::where('description','test')->get();
$end = microtime(true) - $begin;
Теперь $end
время отклика
Сравнение с глобально определенным микровремени может быть неточным, поскольку запросы HTTP проходят через конвейер для достижения запроса
Вы также можете прослушивать события запроса идоступ ко времени
из документов
\DB::listen(function ($query) {
info('Query took ' . $query->time);
});
И это идет от Illuminate\Database\Events\QueryExecuted
здесь
<?php
namespace Illuminate\Database\Events;
class QueryExecuted
{
/**
* The SQL query that was executed.
*
* @var string
*/
public $sql;
/**
* The array of query bindings.
*
* @var array
*/
public $bindings;
/**
* The number of milliseconds it took to execute the query.
*
* @var float
*/
public $time;
/**
* The database connection instance.
*
* @var \Illuminate\Database\Connection
*/
public $connection;
/**
* The database connection name.
*
* @var string
*/
public $connectionName;
/**
* Create a new event instance.
*
* @param string $sql
* @param array $bindings
* @param float|null $time
* @param \Illuminate\Database\Connection $connection
* @return void
*/
public function __construct($sql, $bindings, $time, $connection)
{
$this->sql = $sql;
$this->time = $time;
$this->bindings = $bindings;
$this->connection = $connection;
$this->connectionName = $connection->getName();
}
}
Надеюсь, это поможет