Merge pull request #1014 from LukeTowers/patch-1

Add timing information to events
This commit is contained in:
Barry vd. Heuvel 2020-03-24 07:32:37 +01:00 committed by GitHub
commit 7fa9ff7945
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 3 deletions

View File

@ -3,7 +3,7 @@ namespace Barryvdh\Debugbar\DataCollector;
use Barryvdh\Debugbar\DataFormatter\SimpleFormatter;
use DebugBar\DataCollector\TimeDataCollector;
use Illuminate\Events\Dispatcher;
use Illuminate\Contracts\Events\Dispatcher;
use Illuminate\Support\Str;
use Symfony\Component\VarDumper\Cloner\VarCloner;
@ -12,16 +12,20 @@ class EventCollector extends TimeDataCollector
/** @var Dispatcher */
protected $events;
/** @var integer */
protected $previousTime;
public function __construct($requestStartTime = null)
{
parent::__construct($requestStartTime);
$this->previousTime = microtime(true);
$this->setDataFormatter(new SimpleFormatter());
}
public function onWildcardEvent($name = null, $data = [])
{
$params = $this->prepareParams($data);
$time = microtime(true);
$currentTime = microtime(true);
// Find all listeners for the current event
foreach ($this->events->getListeners($name) as $i => $listener) {
@ -57,7 +61,8 @@ class EventCollector extends TimeDataCollector
$params['listeners.' . $i] = $listener;
}
$this->addMeasure($name, $time, $time, $params);
$this->addMeasure($name, $this->previousTime, $currentTime, $params);
$this->previousTime = $currentTime;
}
public function subscribe(Dispatcher $events)