Skip to content

Commit 58bdd29

Browse files
committed
Update cache collector
1 parent 6fa6823 commit 58bdd29

File tree

1 file changed

+21
-58
lines changed

1 file changed

+21
-58
lines changed

src/DataCollector/CacheCollector.php

Lines changed: 21 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
namespace Barryvdh\Debugbar\DataCollector;
33

44
use DebugBar\DataCollector\TimeDataCollector;
5+
use Illuminate\Cache\Events\CacheEvent;
6+
use Illuminate\Cache\Events\CacheHit;
7+
use Illuminate\Cache\Events\CacheMissed;
8+
use Illuminate\Cache\Events\KeyForgotten;
9+
use Illuminate\Cache\Events\KeyWritten;
510
use Illuminate\Events\Dispatcher;
611

712
class CacheCollector extends TimeDataCollector
@@ -11,10 +16,10 @@ class CacheCollector extends TimeDataCollector
1116

1217
/** @var array */
1318
protected $classMap = [
14-
'Illuminate\Cache\Events\CacheHit' => 'hit',
15-
'Illuminate\Cache\Events\CacheMissed' => 'missed',
16-
'Illuminate\Cache\Events\KeyWritten' => 'write',
17-
'Illuminate\Cache\Events\KeyForgotten' => 'delete',
19+
CacheHit::class => 'hit',
20+
CacheMissed::class => 'missed',
21+
KeyWritten::class => 'written',
22+
KeyForgotten::class => 'forgotten',
1823
];
1924

2025
public function __construct($requestStartTime = null, $collectValues)
@@ -24,70 +29,28 @@ public function __construct($requestStartTime = null, $collectValues)
2429
$this->collectValues = $collectValues;
2530
}
2631

27-
public function onClassEvent($name, $event = null)
32+
public function onCacheEvent(CacheEvent $event)
2833
{
29-
if(is_object($name)) {
30-
$event = $name;
31-
}
32-
33-
if(is_array($event)) {
34-
$event = $event[0];
35-
}
36-
3734
$class = get_class($event);
38-
if (isset($this->classMap[$class])) {
39-
$params = [];
40-
41-
if(isset($event->minutes)) {
42-
$params['minutes'] = $event->minutes;
43-
}
44-
45-
if(isset($event->value)) {
46-
if ($this->collectValues) {
47-
$params['value'] = $this->getDataFormatter()->formatVar($event->value);
48-
} else {
49-
$params['value'] = '(values collecting turned off)';
50-
}
51-
}
52-
53-
if(!empty($event->tags)) {
54-
$params['tags'] = $event->tags;
55-
}
35+
$params = get_object_vars($event);
5636

57-
$time = microtime(true);
58-
$this->addMeasure($this->classMap[$class] . ' ' . $event->key, $time, $time, $params);
59-
}
60-
}
61-
62-
public function onStringEvent($event, $payload)
63-
{
64-
$params = [];
65-
66-
if(is_array($payload)) {
67-
if (isset($payload[2])) {
68-
$params['minutes'] = $payload[2];
69-
}
70-
71-
if (isset($payload[1])) {
72-
if ($this->collectValues) {
73-
$params['value'] = $this->getDataFormatter()->formatVar($payload[1]);
74-
} else {
75-
$params['value'] = '(values collecting turned off)';
76-
}
37+
if(isset($params['value'])) {
38+
if ($this->collectValues) {
39+
$params['value'] = $this->getDataFormatter()->formatVar($event->value);
40+
} else {
41+
unset($params['value']);
7742
}
7843
}
7944

8045
$time = microtime(true);
81-
$this->addMeasure( str_replace('cache.', '', $event) . ' ' . (is_array($payload) ? $payload[0] : $payload),
82-
$time, $time, $params);
46+
$this->addMeasure($this->classMap[$class] . "\t" . $event->key, $time, $time, $params);
8347
}
8448

85-
public function subscribe(Dispatcher $events)
49+
50+
public function subscribe(Dispatcher $dispatcher)
8651
{
87-
if (class_exists('Illuminate\Cache\Events\CacheHit')) {
88-
$events->listen('Illuminate\Cache\Events\*', [$this, 'onClassEvent']);
89-
} else {
90-
$events->listen('cache.*', [$this, 'onStringEvent']);
52+
foreach ($this->classMap as $eventClass => $type) {
53+
$dispatcher->listen($eventClass, [$this, 'onCacheEvent']);
9154
}
9255
}
9356

0 commit comments

Comments
 (0)