Skip to content

Commit 590c86f

Browse files
authored
Merge pull request #5205 from getsentry/ref/cache-tracing-merge-startspan-helpers
ref(jcache): [Cache Tracing 16] Merge startSpan helpers into shared core method
2 parents cb8de20 + 49cd9b3 commit 590c86f

File tree

1 file changed

+16
-25
lines changed

1 file changed

+16
-25
lines changed

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

Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import io.sentry.SpanStatus;
99
import java.util.Arrays;
1010
import java.util.Iterator;
11+
import java.util.List;
1112
import java.util.Map;
1213
import java.util.Set;
1314
import java.util.stream.Collectors;
@@ -454,31 +455,22 @@ public Iterator<Entry<K, V>> iterator() {
454455

455456
private @Nullable ISpan startSpan(
456457
final @Nullable Object key, final @NotNull String operationName) {
457-
if (!scopes.getOptions().isEnableCacheTracing()) {
458-
return null;
459-
}
460-
461-
final ISpan activeSpan = scopes.getSpan();
462-
if (activeSpan == null || activeSpan.isNoOp()) {
463-
return null;
464-
}
465-
466-
final SpanOptions spanOptions = new SpanOptions();
467-
spanOptions.setOrigin(TRACE_ORIGIN);
468458
final String keyString = key != null ? String.valueOf(key) : null;
469-
final ISpan span = activeSpan.startChild("cache." + operationName, keyString, spanOptions);
470-
if (span.isNoOp()) {
471-
return null;
472-
}
473-
if (keyString != null) {
474-
span.setData(SpanDataConvention.CACHE_KEY_KEY, Arrays.asList(keyString));
475-
}
476-
span.setData(OPERATION_ATTRIBUTE, operationName);
477-
return span;
459+
return startSpan(operationName, keyString, keyString != null ? Arrays.asList(keyString) : null);
478460
}
479461

480462
private @Nullable ISpan startSpanForKeys(
481463
final @NotNull Set<?> keys, final @NotNull String operationName) {
464+
return startSpan(
465+
operationName,
466+
delegate.getName(),
467+
keys.stream().map(String::valueOf).collect(Collectors.toList()));
468+
}
469+
470+
private @Nullable ISpan startSpan(
471+
final @NotNull String operationName,
472+
final @Nullable String description,
473+
final @Nullable List<String> cacheKeys) {
482474
if (!scopes.getOptions().isEnableCacheTracing()) {
483475
return null;
484476
}
@@ -490,14 +482,13 @@ public Iterator<Entry<K, V>> iterator() {
490482

491483
final SpanOptions spanOptions = new SpanOptions();
492484
spanOptions.setOrigin(TRACE_ORIGIN);
493-
final ISpan span =
494-
activeSpan.startChild("cache." + operationName, delegate.getName(), spanOptions);
485+
final ISpan span = activeSpan.startChild("cache." + operationName, description, spanOptions);
495486
if (span.isNoOp()) {
496487
return null;
497488
}
498-
span.setData(
499-
SpanDataConvention.CACHE_KEY_KEY,
500-
keys.stream().map(String::valueOf).collect(Collectors.toList()));
489+
if (cacheKeys != null) {
490+
span.setData(SpanDataConvention.CACHE_KEY_KEY, cacheKeys);
491+
}
501492
span.setData(OPERATION_ATTRIBUTE, operationName);
502493
return span;
503494
}

0 commit comments

Comments
 (0)