Skip to content

Commit 8a1aba9

Browse files
authored
Add new cache events on CacheCollector (#1773)
* Add new cache events on CacheCollector * Add CacheFlushFailed event * Fix
1 parent 705c9bd commit 8a1aba9

File tree

2 files changed

+21
-10
lines changed

2 files changed

+21
-10
lines changed

src/DataCollector/CacheCollector.php

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,16 @@
44

55
use DebugBar\DataCollector\TimeDataCollector;
66
use DebugBar\DataFormatter\HasDataFormatter;
7-
use Illuminate\Cache\Events\CacheEvent;
8-
use Illuminate\Cache\Events\CacheHit;
9-
use Illuminate\Cache\Events\CacheMissed;
10-
use Illuminate\Cache\Events\KeyForgotten;
11-
use Illuminate\Cache\Events\KeyWritten;
7+
use Illuminate\Cache\Events\{
8+
CacheFlushed,
9+
CacheFlushFailed,
10+
CacheHit,
11+
CacheMissed,
12+
KeyForgetFailed,
13+
KeyForgotten,
14+
KeyWriteFailed,
15+
KeyWritten,
16+
};
1217
use Illuminate\Events\Dispatcher;
1318

1419
class CacheCollector extends TimeDataCollector
@@ -22,8 +27,12 @@ class CacheCollector extends TimeDataCollector
2227
protected $classMap = [
2328
CacheHit::class => 'hit',
2429
CacheMissed::class => 'missed',
30+
CacheFlushed::class => 'flushed',
31+
CacheFlushFailed::class => 'flush_failed',
2532
KeyWritten::class => 'written',
33+
KeyWriteFailed::class => 'write_failed',
2634
KeyForgotten::class => 'forgotten',
35+
KeyForgetFailed::class => 'forget_failed',
2736
];
2837

2938
public function __construct($requestStartTime, $collectValues)
@@ -33,7 +42,7 @@ public function __construct($requestStartTime, $collectValues)
3342
$this->collectValues = $collectValues;
3443
}
3544

36-
public function onCacheEvent(CacheEvent $event)
45+
public function onCacheEvent($event)
3746
{
3847
$class = get_class($event);
3948
$params = get_object_vars($event);
@@ -53,21 +62,20 @@ public function onCacheEvent(CacheEvent $event)
5362
}
5463

5564

56-
if (!empty($params['key']) && in_array($label, ['hit', 'written'])) {
65+
if (!empty($params['key'] ?? null) && in_array($label, ['hit', 'written'])) {
5766
$params['delete'] = route('debugbar.cache.delete', [
5867
'key' => urlencode($params['key']),
5968
'tags' => !empty($params['tags']) ? json_encode($params['tags']) : '',
6069
]);
6170
}
6271

6372
$time = microtime(true);
64-
$this->addMeasure($label . "\t" . $event->key, $time, $time, $params);
73+
$this->addMeasure($label . "\t" . ($params['key'] ?? ''), $time, $time, $params);
6574
}
6675

67-
6876
public function subscribe(Dispatcher $dispatcher)
6977
{
70-
foreach ($this->classMap as $eventClass => $type) {
78+
foreach (array_keys($this->classMap) as $eventClass) {
7179
$dispatcher->listen($eventClass, [$this, 'onCacheEvent']);
7280
}
7381
}

src/Resources/cache/widget.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@
4040
var m = lines[i];
4141

4242
if (measure.params && !$.isEmptyObject(measure.params)) {
43+
if (measure.params.delete) {
44+
$(m).next().find('td.phpdebugbar-widgets-name:contains(delete)').closest('tr').remove();
45+
}
4346
if (measure.params.delete && measure.params.key) {
4447
$('<a />')
4548
.addClass(csscls('forget'))

0 commit comments

Comments
 (0)