Skip to content

Commit 038e792

Browse files
committed
fix(jcache): Check for NoOp span after startChild
startChild can return a NoOp span (e.g. when span limit is reached). Skip instrumentation in that case to avoid unnecessary work.
1 parent 93be5c8 commit 038e792

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -409,6 +409,9 @@ public Iterator<Entry<K, V>> iterator() {
409409
spanOptions.setOrigin(TRACE_ORIGIN);
410410
final String keyString = key != null ? String.valueOf(key) : null;
411411
final ISpan span = activeSpan.startChild(operation, keyString, spanOptions);
412+
if (span.isNoOp()) {
413+
return null;
414+
}
412415
if (keyString != null) {
413416
span.setData(SpanDataConvention.CACHE_KEY_KEY, Arrays.asList(keyString));
414417
}
@@ -429,6 +432,9 @@ public Iterator<Entry<K, V>> iterator() {
429432
final SpanOptions spanOptions = new SpanOptions();
430433
spanOptions.setOrigin(TRACE_ORIGIN);
431434
final ISpan span = activeSpan.startChild(operation, delegate.getName(), spanOptions);
435+
if (span.isNoOp()) {
436+
return null;
437+
}
432438
span.setData(
433439
SpanDataConvention.CACHE_KEY_KEY,
434440
keys.stream().map(String::valueOf).collect(Collectors.toList()));

0 commit comments

Comments
 (0)