Skip to content

Commit bc93435

Browse files
committed
ref(cache): Move operation attribute to SpanDataConvention as CACHE_OPERATION_KEY
Replace local OPERATION_ATTRIBUTE constants in all cache wrappers with a shared CACHE_OPERATION_KEY constant in SpanDataConvention. Also changes the attribute key from "db.operation.name" to "cache.operation".
1 parent 82bc35e commit bc93435

File tree

10 files changed

+46
-48
lines changed

10 files changed

+46
-48
lines changed

sentry-jcache/src/main/java/io/sentry/jcache/SentryJCacheWrapper.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
public final class SentryJCacheWrapper<K, V> implements Cache<K, V> {
3535

3636
private static final String TRACE_ORIGIN = "auto.cache.jcache";
37-
private static final String OPERATION_ATTRIBUTE = "db.operation.name";
3837

3938
private final @NotNull Cache<K, V> delegate;
4039
private final @NotNull IScopes scopes;
@@ -489,7 +488,7 @@ public Iterator<Entry<K, V>> iterator() {
489488
if (cacheKeys != null) {
490489
span.setData(SpanDataConvention.CACHE_KEY_KEY, cacheKeys);
491490
}
492-
span.setData(OPERATION_ATTRIBUTE, operationName);
491+
span.setData(SpanDataConvention.CACHE_OPERATION_KEY, operationName);
493492
return span;
494493
}
495494
}

sentry-jcache/src/test/kotlin/io/sentry/jcache/SentryJCacheWrapperTest.kt

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ class SentryJCacheWrapperTest {
6464
assertEquals(true, span.getData(SpanDataConvention.CACHE_HIT_KEY))
6565
assertEquals(listOf("myKey"), span.getData(SpanDataConvention.CACHE_KEY_KEY))
6666
assertEquals("auto.cache.jcache", span.spanContext.origin)
67-
assertEquals("get", span.getData("db.operation.name"))
67+
assertEquals("get", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
6868
}
6969

7070
@Test
@@ -99,7 +99,7 @@ class SentryJCacheWrapperTest {
9999
assertEquals(true, span.getData(SpanDataConvention.CACHE_HIT_KEY))
100100
val cacheKeys = span.getData(SpanDataConvention.CACHE_KEY_KEY) as List<*>
101101
assertTrue(cacheKeys.containsAll(listOf("k1", "k2")))
102-
assertEquals("getAll", span.getData("db.operation.name"))
102+
assertEquals("getAll", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
103103
}
104104

105105
@Test
@@ -129,7 +129,7 @@ class SentryJCacheWrapperTest {
129129
assertEquals("cache.put", span.operation)
130130
assertEquals(SpanStatus.OK, span.status)
131131
assertEquals(listOf("myKey"), span.getData(SpanDataConvention.CACHE_KEY_KEY))
132-
assertEquals("put", span.getData("db.operation.name"))
132+
assertEquals("put", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
133133
}
134134

135135
// -- getAndPut --
@@ -145,7 +145,7 @@ class SentryJCacheWrapperTest {
145145
assertEquals("oldValue", result)
146146
assertEquals(1, tx.spans.size)
147147
assertEquals("cache.getAndPut", tx.spans.first().operation)
148-
assertEquals("getAndPut", tx.spans.first().getData("db.operation.name"))
148+
assertEquals("getAndPut", tx.spans.first().getData(SpanDataConvention.CACHE_OPERATION_KEY))
149149
}
150150

151151
// -- putAll --
@@ -165,7 +165,7 @@ class SentryJCacheWrapperTest {
165165
assertEquals("testCache", span.description)
166166
val cacheKeys = span.getData(SpanDataConvention.CACHE_KEY_KEY) as List<*>
167167
assertTrue(cacheKeys.containsAll(listOf("k1", "k2")))
168-
assertEquals("putAll", span.getData("db.operation.name"))
168+
assertEquals("putAll", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
169169
}
170170

171171
// -- putIfAbsent --
@@ -185,7 +185,7 @@ class SentryJCacheWrapperTest {
185185
assertEquals("cache.putIfAbsent", span.operation)
186186
assertEquals(SpanStatus.OK, span.status)
187187
assertEquals(listOf("myKey"), span.getData(SpanDataConvention.CACHE_KEY_KEY))
188-
assertEquals("putIfAbsent", span.getData("db.operation.name"))
188+
assertEquals("putIfAbsent", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
189189
}
190190

191191
// -- replace --
@@ -204,7 +204,7 @@ class SentryJCacheWrapperTest {
204204
val span = tx.spans.first()
205205
assertEquals("cache.replace", span.operation)
206206
assertEquals(SpanStatus.OK, span.status)
207-
assertEquals("replace", span.getData("db.operation.name"))
207+
assertEquals("replace", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
208208
}
209209

210210
@Test
@@ -221,7 +221,7 @@ class SentryJCacheWrapperTest {
221221
val span = tx.spans.first()
222222
assertEquals("cache.replace", span.operation)
223223
assertEquals(SpanStatus.OK, span.status)
224-
assertEquals("replace", span.getData("db.operation.name"))
224+
assertEquals("replace", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
225225
}
226226

227227
// -- getAndReplace --
@@ -240,7 +240,7 @@ class SentryJCacheWrapperTest {
240240
val span = tx.spans.first()
241241
assertEquals("cache.getAndReplace", span.operation)
242242
assertEquals(SpanStatus.OK, span.status)
243-
assertEquals("getAndReplace", span.getData("db.operation.name"))
243+
assertEquals("getAndReplace", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
244244
}
245245

246246
// -- remove(K) --
@@ -258,7 +258,7 @@ class SentryJCacheWrapperTest {
258258
val span = tx.spans.first()
259259
assertEquals("cache.remove", span.operation)
260260
assertEquals(SpanStatus.OK, span.status)
261-
assertEquals("remove", span.getData("db.operation.name"))
261+
assertEquals("remove", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
262262
}
263263

264264
// -- remove(K, V) --
@@ -274,7 +274,7 @@ class SentryJCacheWrapperTest {
274274
assertTrue(result)
275275
assertEquals(1, tx.spans.size)
276276
assertEquals("cache.remove", tx.spans.first().operation)
277-
assertEquals("remove", tx.spans.first().getData("db.operation.name"))
277+
assertEquals("remove", tx.spans.first().getData(SpanDataConvention.CACHE_OPERATION_KEY))
278278
}
279279

280280
// -- getAndRemove --
@@ -290,7 +290,7 @@ class SentryJCacheWrapperTest {
290290
assertEquals("value", result)
291291
assertEquals(1, tx.spans.size)
292292
assertEquals("cache.getAndRemove", tx.spans.first().operation)
293-
assertEquals("getAndRemove", tx.spans.first().getData("db.operation.name"))
293+
assertEquals("getAndRemove", tx.spans.first().getData(SpanDataConvention.CACHE_OPERATION_KEY))
294294
}
295295

296296
// -- removeAll(Set) --
@@ -308,7 +308,7 @@ class SentryJCacheWrapperTest {
308308
val span = tx.spans.first()
309309
assertEquals("cache.removeAll", span.operation)
310310
assertEquals("testCache", span.description)
311-
assertEquals("removeAll", span.getData("db.operation.name"))
311+
assertEquals("removeAll", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
312312
}
313313

314314
// -- removeAll() --
@@ -323,7 +323,7 @@ class SentryJCacheWrapperTest {
323323
verify(delegate).removeAll()
324324
assertEquals(1, tx.spans.size)
325325
assertEquals("cache.removeAll", tx.spans.first().operation)
326-
assertEquals("removeAll", tx.spans.first().getData("db.operation.name"))
326+
assertEquals("removeAll", tx.spans.first().getData(SpanDataConvention.CACHE_OPERATION_KEY))
327327
}
328328

329329
// -- clear --
@@ -341,7 +341,7 @@ class SentryJCacheWrapperTest {
341341
assertEquals("cache.clear", span.operation)
342342
assertEquals(SpanStatus.OK, span.status)
343343
assertNull(span.getData(SpanDataConvention.CACHE_KEY_KEY))
344-
assertEquals("clear", span.getData("db.operation.name"))
344+
assertEquals("clear", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
345345
}
346346

347347
// -- invoke --
@@ -358,7 +358,7 @@ class SentryJCacheWrapperTest {
358358
assertEquals("result", result)
359359
assertEquals(1, tx.spans.size)
360360
assertEquals("cache.invoke", tx.spans.first().operation)
361-
assertEquals("invoke", tx.spans.first().getData("db.operation.name"))
361+
assertEquals("invoke", tx.spans.first().getData(SpanDataConvention.CACHE_OPERATION_KEY))
362362
}
363363

364364
// -- invokeAll --
@@ -377,7 +377,7 @@ class SentryJCacheWrapperTest {
377377
assertEquals(resultMap, result)
378378
assertEquals(1, tx.spans.size)
379379
assertEquals("cache.invokeAll", tx.spans.first().operation)
380-
assertEquals("invokeAll", tx.spans.first().getData("db.operation.name"))
380+
assertEquals("invokeAll", tx.spans.first().getData(SpanDataConvention.CACHE_OPERATION_KEY))
381381
}
382382

383383
// -- passthrough operations --

sentry-spring-7/src/main/java/io/sentry/spring7/cache/SentryCacheWrapper.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
public final class SentryCacheWrapper implements Cache {
2121

2222
private static final String TRACE_ORIGIN = "auto.cache.spring";
23-
private static final String OPERATION_ATTRIBUTE = "db.operation.name";
2423

2524
private final @NotNull Cache delegate;
2625
private final @NotNull IScopes scopes;
@@ -314,7 +313,7 @@ public boolean invalidate() {
314313
if (keyString != null) {
315314
span.setData(SpanDataConvention.CACHE_KEY_KEY, Arrays.asList(keyString));
316315
}
317-
span.setData(OPERATION_ATTRIBUTE, operationName);
316+
span.setData(SpanDataConvention.CACHE_OPERATION_KEY, operationName);
318317
return span;
319318
}
320319
}

sentry-spring-7/src/test/kotlin/io/sentry/spring7/cache/SentryCacheWrapperTest.kt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ class SentryCacheWrapperTest {
6363
assertEquals(true, span.getData(SpanDataConvention.CACHE_HIT_KEY))
6464
assertEquals(listOf("myKey"), span.getData(SpanDataConvention.CACHE_KEY_KEY))
6565
assertEquals("auto.cache.spring", span.spanContext.origin)
66-
assertEquals("get", span.getData("db.operation.name"))
66+
assertEquals("get", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
6767
}
6868

6969
@Test
@@ -191,7 +191,7 @@ class SentryCacheWrapperTest {
191191
assertEquals("myKey", span.description)
192192
assertEquals(SpanStatus.OK, span.status)
193193
assertEquals(true, span.getData(SpanDataConvention.CACHE_HIT_KEY))
194-
assertEquals("retrieve", span.getData("db.operation.name"))
194+
assertEquals("retrieve", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
195195
assertTrue(span.isFinished)
196196
}
197197

@@ -356,7 +356,7 @@ class SentryCacheWrapperTest {
356356
assertEquals("cache.put", span.operation)
357357
assertEquals(SpanStatus.OK, span.status)
358358
assertEquals(listOf("myKey"), span.getData(SpanDataConvention.CACHE_KEY_KEY))
359-
assertEquals("put", span.getData("db.operation.name"))
359+
assertEquals("put", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
360360
}
361361

362362
// -- putIfAbsent --
@@ -376,7 +376,7 @@ class SentryCacheWrapperTest {
376376
assertEquals("cache.putIfAbsent", span.operation)
377377
assertEquals(SpanStatus.OK, span.status)
378378
assertEquals(listOf("myKey"), span.getData(SpanDataConvention.CACHE_KEY_KEY))
379-
assertEquals("putIfAbsent", span.getData("db.operation.name"))
379+
assertEquals("putIfAbsent", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
380380
}
381381

382382
// -- evict --
@@ -393,7 +393,7 @@ class SentryCacheWrapperTest {
393393
val span = tx.spans.first()
394394
assertEquals("cache.evict", span.operation)
395395
assertEquals(SpanStatus.OK, span.status)
396-
assertEquals("evict", span.getData("db.operation.name"))
396+
assertEquals("evict", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
397397
}
398398

399399
// -- evictIfPresent --
@@ -409,7 +409,7 @@ class SentryCacheWrapperTest {
409409
assertTrue(result)
410410
assertEquals(1, tx.spans.size)
411411
assertEquals("cache.evictIfPresent", tx.spans.first().operation)
412-
assertEquals("evictIfPresent", tx.spans.first().getData("db.operation.name"))
412+
assertEquals("evictIfPresent", tx.spans.first().getData(SpanDataConvention.CACHE_OPERATION_KEY))
413413
}
414414

415415
// -- clear --
@@ -427,7 +427,7 @@ class SentryCacheWrapperTest {
427427
assertEquals("cache.clear", span.operation)
428428
assertEquals(SpanStatus.OK, span.status)
429429
assertNull(span.getData(SpanDataConvention.CACHE_KEY_KEY))
430-
assertEquals("clear", span.getData("db.operation.name"))
430+
assertEquals("clear", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
431431
}
432432

433433
// -- invalidate --
@@ -443,7 +443,7 @@ class SentryCacheWrapperTest {
443443
assertTrue(result)
444444
assertEquals(1, tx.spans.size)
445445
assertEquals("cache.invalidate", tx.spans.first().operation)
446-
assertEquals("invalidate", tx.spans.first().getData("db.operation.name"))
446+
assertEquals("invalidate", tx.spans.first().getData(SpanDataConvention.CACHE_OPERATION_KEY))
447447
}
448448

449449
// -- no span when no active transaction --

sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/cache/SentryCacheWrapper.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
public final class SentryCacheWrapper implements Cache {
2121

2222
private static final String TRACE_ORIGIN = "auto.cache.spring";
23-
private static final String OPERATION_ATTRIBUTE = "db.operation.name";
2423

2524
private final @NotNull Cache delegate;
2625
private final @NotNull IScopes scopes;
@@ -314,7 +313,7 @@ public boolean invalidate() {
314313
if (keyString != null) {
315314
span.setData(SpanDataConvention.CACHE_KEY_KEY, Arrays.asList(keyString));
316315
}
317-
span.setData(OPERATION_ATTRIBUTE, operationName);
316+
span.setData(SpanDataConvention.CACHE_OPERATION_KEY, operationName);
318317
return span;
319318
}
320319
}

sentry-spring-jakarta/src/test/kotlin/io/sentry/spring/jakarta/cache/SentryCacheWrapperTest.kt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ class SentryCacheWrapperTest {
6363
assertEquals(true, span.getData(SpanDataConvention.CACHE_HIT_KEY))
6464
assertEquals(listOf("myKey"), span.getData(SpanDataConvention.CACHE_KEY_KEY))
6565
assertEquals("auto.cache.spring", span.spanContext.origin)
66-
assertEquals("get", span.getData("db.operation.name"))
66+
assertEquals("get", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
6767
}
6868

6969
@Test
@@ -191,7 +191,7 @@ class SentryCacheWrapperTest {
191191
assertEquals("myKey", span.description)
192192
assertEquals(SpanStatus.OK, span.status)
193193
assertEquals(true, span.getData(SpanDataConvention.CACHE_HIT_KEY))
194-
assertEquals("retrieve", span.getData("db.operation.name"))
194+
assertEquals("retrieve", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
195195
assertTrue(span.isFinished)
196196
}
197197

@@ -356,7 +356,7 @@ class SentryCacheWrapperTest {
356356
assertEquals("cache.put", span.operation)
357357
assertEquals(SpanStatus.OK, span.status)
358358
assertEquals(listOf("myKey"), span.getData(SpanDataConvention.CACHE_KEY_KEY))
359-
assertEquals("put", span.getData("db.operation.name"))
359+
assertEquals("put", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
360360
}
361361

362362
// -- putIfAbsent --
@@ -376,7 +376,7 @@ class SentryCacheWrapperTest {
376376
assertEquals("cache.putIfAbsent", span.operation)
377377
assertEquals(SpanStatus.OK, span.status)
378378
assertEquals(listOf("myKey"), span.getData(SpanDataConvention.CACHE_KEY_KEY))
379-
assertEquals("putIfAbsent", span.getData("db.operation.name"))
379+
assertEquals("putIfAbsent", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
380380
}
381381

382382
// -- evict --
@@ -393,7 +393,7 @@ class SentryCacheWrapperTest {
393393
val span = tx.spans.first()
394394
assertEquals("cache.evict", span.operation)
395395
assertEquals(SpanStatus.OK, span.status)
396-
assertEquals("evict", span.getData("db.operation.name"))
396+
assertEquals("evict", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
397397
}
398398

399399
// -- evictIfPresent --
@@ -409,7 +409,7 @@ class SentryCacheWrapperTest {
409409
assertTrue(result)
410410
assertEquals(1, tx.spans.size)
411411
assertEquals("cache.evictIfPresent", tx.spans.first().operation)
412-
assertEquals("evictIfPresent", tx.spans.first().getData("db.operation.name"))
412+
assertEquals("evictIfPresent", tx.spans.first().getData(SpanDataConvention.CACHE_OPERATION_KEY))
413413
}
414414

415415
// -- clear --
@@ -427,7 +427,7 @@ class SentryCacheWrapperTest {
427427
assertEquals("cache.clear", span.operation)
428428
assertEquals(SpanStatus.OK, span.status)
429429
assertNull(span.getData(SpanDataConvention.CACHE_KEY_KEY))
430-
assertEquals("clear", span.getData("db.operation.name"))
430+
assertEquals("clear", span.getData(SpanDataConvention.CACHE_OPERATION_KEY))
431431
}
432432

433433
// -- invalidate --
@@ -443,7 +443,7 @@ class SentryCacheWrapperTest {
443443
assertTrue(result)
444444
assertEquals(1, tx.spans.size)
445445
assertEquals("cache.invalidate", tx.spans.first().operation)
446-
assertEquals("invalidate", tx.spans.first().getData("db.operation.name"))
446+
assertEquals("invalidate", tx.spans.first().getData(SpanDataConvention.CACHE_OPERATION_KEY))
447447
}
448448

449449
// -- no span when no active transaction --

sentry-spring/src/main/java/io/sentry/spring/cache/SentryCacheWrapper.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
public final class SentryCacheWrapper implements Cache {
1919

2020
private static final String TRACE_ORIGIN = "auto.cache.spring";
21-
private static final String OPERATION_ATTRIBUTE = "db.operation.name";
2221

2322
private final @NotNull Cache delegate;
2423
private final @NotNull IScopes scopes;
@@ -242,7 +241,7 @@ public boolean invalidate() {
242241
if (keyString != null) {
243242
span.setData(SpanDataConvention.CACHE_KEY_KEY, Arrays.asList(keyString));
244243
}
245-
span.setData(OPERATION_ATTRIBUTE, operationName);
244+
span.setData(SpanDataConvention.CACHE_OPERATION_KEY, operationName);
246245
return span;
247246
}
248247
}

0 commit comments

Comments
 (0)