@@ -21,10 +21,24 @@ type MaybeInstrumentedDriver = Driver & {
21
21
__sentry_instrumented__ ?: boolean ;
22
22
} ;
23
23
24
+ /**
25
+ * Methods that should have a key argument.
26
+ */
27
+ const KEYED_METHODS = new Set ( [
28
+ 'hasItem' ,
29
+ 'getItem' ,
30
+ 'getItemRaw' ,
31
+ 'getItems' ,
32
+ 'setItem' ,
33
+ 'setItemRaw' ,
34
+ 'setItems' ,
35
+ 'removeItem' ,
36
+ ] ) ;
37
+
24
38
/**
25
39
* Methods that should have a attribute to indicate a cache hit.
26
40
*/
27
- const KEYED_METHODS = new Set ( [ 'hasItem' , 'getItem' , 'getItemRaw' , 'getItems '] ) ;
41
+ const CACHE_HIT_METHODS = new Set ( [ 'hasItem' , 'getItem' , 'getKeys ' ] ) ;
28
42
29
43
/**
30
44
* Creates a Nitro plugin that instruments the storage driver.
@@ -70,6 +84,7 @@ function instrumentDriver(driver: MaybeInstrumentedDriver, mountBase: string): D
70
84
debug . log ( `[storage] Instrumenting driver: "${ driver . name } " on mount: "${ mountBase } "` ) ;
71
85
72
86
// List of driver methods to instrument
87
+ // get/set/remove are aliases and already use their {method}Item methods
73
88
const methodsToInstrument : ( keyof Driver ) [ ] = [
74
89
'hasItem' ,
75
90
'getItem' ,
@@ -115,7 +130,9 @@ function createMethodWrapper(
115
130
116
131
debug . log ( `[storage] Running method: "${ methodName } " on driver: "${ driver . name ?? 'unknown' } "` ) ;
117
132
118
- const spanName = KEYED_METHODS . has ( methodName ) ? String ( args ?. [ 0 ] ) : `storage.${ normalizeMethodName ( methodName ) } ` ;
133
+ const spanName = KEYED_METHODS . has ( methodName )
134
+ ? `${ mountBase } ${ args ?. [ 0 ] } `
135
+ : `storage.${ normalizeMethodName ( methodName ) } ` ;
119
136
120
137
return startSpan (
121
138
{
@@ -127,7 +144,7 @@ function createMethodWrapper(
127
144
const result = await target . apply ( thisArg , args ) ;
128
145
span . setStatus ( { code : SPAN_STATUS_OK } ) ;
129
146
130
- if ( KEYED_METHODS . has ( methodName ) ) {
147
+ if ( CACHE_HIT_METHODS . has ( methodName ) ) {
131
148
span . setAttribute ( SEMANTIC_ATTRIBUTE_CACHE_HIT , true ) ;
132
149
}
133
150
0 commit comments