According to the Laravel documentation, it is possible to add a listener that will log all SQL queries, and log the query duration.
public function boot()
{
DB::listen(function ($query) {
// $query->sql
// $query->bindings
$query->time
});
}
My problem is that I don't know the unit of $query->time, and I can't find this information in the documentation. By reproducing the queries in the Mysql cli client it seems that the result returned are in deciseconds which seems very strange. Because of that I think that I misunderstood something and that measured time might not represent what I am expecting (the Mysql time to answer).
What is the unit of this element ? Is there a better Laravel documentation that could explain what is measured ?
CodePudding user response:
The parameter you get there is of type
Illuminate/Database/Events/QueryExecuted
According to this
https://laravel.com/api/8.x/Illuminate/Database/Events/QueryExecuted.html
the time is "The number of milliseconds it took to execute the query."
CodePudding user response:
it's calculated using the microtime
function, what you get is a milliseconds time value