Skip to content

Commit a3b4688

Browse files
authored
Make opt-in events data collecting (#1534)
1 parent d2c33f0 commit a3b4688

File tree

3 files changed

+20
-4
lines changed

3 files changed

+20
-4
lines changed

config/debugbar.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,9 @@
245245
'symfony_request' => [
246246
'hiddens' => [], // hides sensitive values using array paths, example: request_request.password
247247
],
248+
'events' => [
249+
'data' => false, // collect events data, listeners
250+
],
248251
'logs' => [
249252
'file' => null,
250253
],

src/DataCollector/EventCollector.php

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,30 @@ class EventCollector extends TimeDataCollector
1616
/** @var integer */
1717
protected $previousTime;
1818

19-
public function __construct($requestStartTime = null)
19+
/** @var bool */
20+
protected $collectValues;
21+
22+
public function __construct($requestStartTime = null, $collectValues = false)
2023
{
2124
parent::__construct($requestStartTime);
2225
$this->previousTime = microtime(true);
26+
$this->collectValues = $collectValues;
2327
$this->setDataFormatter(new SimpleFormatter());
2428
}
2529

2630
public function onWildcardEvent($name = null, $data = [])
2731
{
28-
$params = $this->prepareParams($data);
2932
$currentTime = microtime(true);
3033

34+
if (! $this->collectValues) {
35+
$this->addMeasure($name, $this->previousTime, $currentTime);
36+
$this->previousTime = $currentTime;
37+
38+
return;
39+
}
40+
41+
$params = $this->prepareParams($data);
42+
3143
// Find all listeners for the current event
3244
foreach ($this->events->getListeners($name) as $i => $listener) {
3345
// Check if it's an object + method name

src/LaravelDebugbar.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -221,8 +221,9 @@ function () use ($debugbar, $startTime) {
221221

222222
if ($this->shouldCollect('events', false) && isset($this->app['events'])) {
223223
try {
224-
$startTime = $this->app['request']->server('REQUEST_TIME_FLOAT');
225-
$this->addCollector(new EventCollector($startTime));
224+
$startTime = $app['request']->server('REQUEST_TIME_FLOAT');
225+
$collectData = $app['config']->get('debugbar.options.events.data', false);
226+
$this->addCollector(new EventCollector($startTime, $collectData));
226227
$this->app['events']->subscribe($debugbar['event']);
227228
} catch (Exception $e) {
228229
$this->addCollectorException('Cannot add EventCollector', $e);

0 commit comments

Comments
 (0)