Skip to content

Commit 698bb8b

Browse files
erikn69barryvdh
andauthored
Exclude events on EventCollector (#1786)
* Exclude events on EventCollector * Update EventCollector.php * Update debugbar.php --------- Co-authored-by: Barry vd. Heuvel <barryvdh@gmail.com>
1 parent 8a1aba9 commit 698bb8b

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

config/debugbar.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,7 @@
258258
],
259259
'events' => [
260260
'data' => env('DEBUGBAR_OPTIONS_EVENTS_DATA', false), // Collect events data, listeners
261+
'excluded' => [], // Example: ['eloquent.*', 'composing', Illuminate\Cache\Events\CacheHit::class]
261262
],
262263
'logs' => [
263264
'file' => env('DEBUGBAR_OPTIONS_LOGS_FILE', null),

src/DataCollector/EventCollector.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,20 @@ class EventCollector extends TimeDataCollector
1313
/** @var Dispatcher */
1414
protected $events;
1515

16+
/** @var Dispatcher */
17+
protected $excludedEvents;
18+
1619
/** @var integer */
1720
protected $previousTime;
1821

1922
/** @var bool */
2023
protected $collectValues;
2124

22-
public function __construct($requestStartTime = null, $collectValues = false)
25+
public function __construct($requestStartTime = null, $collectValues = false, $excludedEvents = [])
2326
{
2427
parent::__construct($requestStartTime);
2528
$this->collectValues = $collectValues;
29+
$this->excludedEvents = $excludedEvents;
2630
$this->setDataFormatter(new SimpleFormatter());
2731
}
2832

@@ -31,6 +35,12 @@ public function onWildcardEvent($name = null, $data = [])
3135
$currentTime = microtime(true);
3236
$eventClass = explode(':', $name)[0];
3337

38+
foreach ($this->excludedEvents as $excludedEvent) {
39+
if (Str::is($excludedEvent, $eventClass)) {
40+
return;
41+
}
42+
}
43+
3444
if (! $this->collectValues) {
3545
$this->addMeasure($name, $currentTime, $currentTime, [], null, $eventClass);
3646

src/LaravelDebugbar.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,8 @@ function () use ($startTime) {
276276
try {
277277
$startTime = $app['request']->server('REQUEST_TIME_FLOAT');
278278
$collectData = $config->get('debugbar.options.events.data', false);
279-
$this->addCollector(new EventCollector($startTime, $collectData));
279+
$excludedEvents = $config->get('debugbar.options.events.excluded', []);
280+
$this->addCollector(new EventCollector($startTime, $collectData, $excludedEvents));
280281
$events->subscribe($this['event']);
281282
} catch (Exception $e) {
282283
$this->addCollectorException('Cannot add EventCollector', $e);

0 commit comments

Comments
 (0)