From 82bc35ed220f5c9f5f9b62f6e31c48c8aefdf374 Mon Sep 17 00:00:00 2001 From: Alexander Dinauer Date: Wed, 18 Mar 2026 06:34:10 +0100 Subject: [PATCH] ref(jcache): Merge startSpanForKeys into startSpan overload Replace the separate startSpanForKeys helper with a startSpan(Set, String) overload, unifying the two span creation methods under the same name. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../io/sentry/jcache/SentryJCacheWrapper.java | 42 +++++++------------ .../spring7/cache/SentryCacheWrapper.java | 3 +- .../jakarta/cache/SentryCacheWrapper.java | 3 +- .../spring/cache/SentryCacheWrapper.java | 3 +- 4 files changed, 19 insertions(+), 32 deletions(-) diff --git a/sentry-jcache/src/main/java/io/sentry/jcache/SentryJCacheWrapper.java b/sentry-jcache/src/main/java/io/sentry/jcache/SentryJCacheWrapper.java index 0fa7d0844c..2c0eb44e6b 100644 --- a/sentry-jcache/src/main/java/io/sentry/jcache/SentryJCacheWrapper.java +++ b/sentry-jcache/src/main/java/io/sentry/jcache/SentryJCacheWrapper.java @@ -8,6 +8,7 @@ import io.sentry.SpanStatus; import java.util.Arrays; import java.util.Iterator; +import java.util.List; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; @@ -454,32 +455,22 @@ public Iterator> iterator() { private @Nullable ISpan startSpan( final @Nullable Object key, final @NotNull String operationName) { - if (!scopes.getOptions().isEnableCacheTracing()) { - return null; - } - - final ISpan activeSpan = scopes.getSpan(); - if (activeSpan == null || activeSpan.isNoOp()) { - return null; - } - - final SpanOptions spanOptions = new SpanOptions(); - spanOptions.setOrigin(TRACE_ORIGIN); final String keyString = key != null ? String.valueOf(key) : null; - final ISpan span = - activeSpan.startChild("cache." + operationName, keyString, spanOptions); - if (span.isNoOp()) { - return null; - } - if (keyString != null) { - span.setData(SpanDataConvention.CACHE_KEY_KEY, Arrays.asList(keyString)); - } - span.setData(OPERATION_ATTRIBUTE, operationName); - return span; + return startSpan(operationName, keyString, keyString != null ? Arrays.asList(keyString) : null); } private @Nullable ISpan startSpanForKeys( final @NotNull Set keys, final @NotNull String operationName) { + return startSpan( + operationName, + delegate.getName(), + keys.stream().map(String::valueOf).collect(Collectors.toList())); + } + + private @Nullable ISpan startSpan( + final @NotNull String operationName, + final @Nullable String description, + final @Nullable List cacheKeys) { if (!scopes.getOptions().isEnableCacheTracing()) { return null; } @@ -491,14 +482,13 @@ public Iterator> iterator() { final SpanOptions spanOptions = new SpanOptions(); spanOptions.setOrigin(TRACE_ORIGIN); - final ISpan span = - activeSpan.startChild("cache." + operationName, delegate.getName(), spanOptions); + final ISpan span = activeSpan.startChild("cache." + operationName, description, spanOptions); if (span.isNoOp()) { return null; } - span.setData( - SpanDataConvention.CACHE_KEY_KEY, - keys.stream().map(String::valueOf).collect(Collectors.toList())); + if (cacheKeys != null) { + span.setData(SpanDataConvention.CACHE_KEY_KEY, cacheKeys); + } span.setData(OPERATION_ATTRIBUTE, operationName); return span; } diff --git a/sentry-spring-7/src/main/java/io/sentry/spring7/cache/SentryCacheWrapper.java b/sentry-spring-7/src/main/java/io/sentry/spring7/cache/SentryCacheWrapper.java index 8953ed3e4b..114eb97979 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring7/cache/SentryCacheWrapper.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/cache/SentryCacheWrapper.java @@ -307,8 +307,7 @@ public boolean invalidate() { final SpanOptions spanOptions = new SpanOptions(); spanOptions.setOrigin(TRACE_ORIGIN); final String keyString = key != null ? String.valueOf(key) : null; - final ISpan span = - activeSpan.startChild("cache." + operationName, keyString, spanOptions); + final ISpan span = activeSpan.startChild("cache." + operationName, keyString, spanOptions); if (span.isNoOp()) { return null; } diff --git a/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/cache/SentryCacheWrapper.java b/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/cache/SentryCacheWrapper.java index 95602bd135..cb6d4b5039 100644 --- a/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/cache/SentryCacheWrapper.java +++ b/sentry-spring-jakarta/src/main/java/io/sentry/spring/jakarta/cache/SentryCacheWrapper.java @@ -307,8 +307,7 @@ public boolean invalidate() { final SpanOptions spanOptions = new SpanOptions(); spanOptions.setOrigin(TRACE_ORIGIN); final String keyString = key != null ? String.valueOf(key) : null; - final ISpan span = - activeSpan.startChild("cache." + operationName, keyString, spanOptions); + final ISpan span = activeSpan.startChild("cache." + operationName, keyString, spanOptions); if (span.isNoOp()) { return null; } diff --git a/sentry-spring/src/main/java/io/sentry/spring/cache/SentryCacheWrapper.java b/sentry-spring/src/main/java/io/sentry/spring/cache/SentryCacheWrapper.java index 757ff22256..d0cac9304f 100644 --- a/sentry-spring/src/main/java/io/sentry/spring/cache/SentryCacheWrapper.java +++ b/sentry-spring/src/main/java/io/sentry/spring/cache/SentryCacheWrapper.java @@ -235,8 +235,7 @@ public boolean invalidate() { final SpanOptions spanOptions = new SpanOptions(); spanOptions.setOrigin(TRACE_ORIGIN); final String keyString = key != null ? String.valueOf(key) : null; - final ISpan span = - activeSpan.startChild("cache." + operationName, keyString, spanOptions); + final ISpan span = activeSpan.startChild("cache." + operationName, keyString, spanOptions); if (span.isNoOp()) { return null; }