4
4
5
5
use DebugBar \DataCollector \TimeDataCollector ;
6
6
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
+ };
12
17
use Illuminate \Events \Dispatcher ;
13
18
14
19
class CacheCollector extends TimeDataCollector
@@ -22,8 +27,12 @@ class CacheCollector extends TimeDataCollector
22
27
protected $ classMap = [
23
28
CacheHit::class => 'hit ' ,
24
29
CacheMissed::class => 'missed ' ,
30
+ CacheFlushed::class => 'flushed ' ,
31
+ CacheFlushFailed::class => 'flush_failed ' ,
25
32
KeyWritten::class => 'written ' ,
33
+ KeyWriteFailed::class => 'write_failed ' ,
26
34
KeyForgotten::class => 'forgotten ' ,
35
+ KeyForgetFailed::class => 'forget_failed ' ,
27
36
];
28
37
29
38
public function __construct ($ requestStartTime , $ collectValues )
@@ -33,7 +42,7 @@ public function __construct($requestStartTime, $collectValues)
33
42
$ this ->collectValues = $ collectValues ;
34
43
}
35
44
36
- public function onCacheEvent (CacheEvent $ event )
45
+ public function onCacheEvent ($ event )
37
46
{
38
47
$ class = get_class ($ event );
39
48
$ params = get_object_vars ($ event );
@@ -53,21 +62,20 @@ public function onCacheEvent(CacheEvent $event)
53
62
}
54
63
55
64
56
- if (!empty ($ params ['key ' ]) && in_array ($ label , ['hit ' , 'written ' ])) {
65
+ if (!empty ($ params ['key ' ] ?? null ) && in_array ($ label , ['hit ' , 'written ' ])) {
57
66
$ params ['delete ' ] = route ('debugbar.cache.delete ' , [
58
67
'key ' => urlencode ($ params ['key ' ]),
59
68
'tags ' => !empty ($ params ['tags ' ]) ? json_encode ($ params ['tags ' ]) : '' ,
60
69
]);
61
70
}
62
71
63
72
$ time = microtime (true );
64
- $ this ->addMeasure ($ label . "\t" . $ event -> key , $ time , $ time , $ params );
73
+ $ this ->addMeasure ($ label . "\t" . ( $ params [ ' key ' ] ?? '' ) , $ time , $ time , $ params );
65
74
}
66
75
67
-
68
76
public function subscribe (Dispatcher $ dispatcher )
69
77
{
70
- foreach ($ this ->classMap as $ eventClass => $ type ) {
78
+ foreach (array_keys ( $ this ->classMap ) as $ eventClass ) {
71
79
$ dispatcher ->listen ($ eventClass , [$ this , 'onCacheEvent ' ]);
72
80
}
73
81
}
0 commit comments