From 389b60e530c9edd7c23a6dece4e27d1a54482821 Mon Sep 17 00:00:00 2001 From: thomasduncan Date: Wed, 2 Apr 2025 08:53:50 -0700 Subject: [PATCH 1/2] Update TraceRegistry to use a Set since it only references the keys in its Map. --- .../opentelemetry/profiler/snapshot/TraceRegistry.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/profiler/src/main/java/com/splunk/opentelemetry/profiler/snapshot/TraceRegistry.java b/profiler/src/main/java/com/splunk/opentelemetry/profiler/snapshot/TraceRegistry.java index 5bf412dde..9962669db 100644 --- a/profiler/src/main/java/com/splunk/opentelemetry/profiler/snapshot/TraceRegistry.java +++ b/profiler/src/main/java/com/splunk/opentelemetry/profiler/snapshot/TraceRegistry.java @@ -17,18 +17,18 @@ package com.splunk.opentelemetry.profiler.snapshot; import io.opentelemetry.api.trace.SpanContext; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; +import java.util.Set; +import java.util.concurrent.CopyOnWriteArraySet; class TraceRegistry { - private final Map traceIds = new ConcurrentHashMap<>(); + private final Set traceIds = new CopyOnWriteArraySet<>(); public void register(SpanContext spanContext) { - traceIds.put(spanContext.getTraceId(), spanContext); + traceIds.add(spanContext.getTraceId()); } public boolean isRegistered(SpanContext spanContext) { - return traceIds.containsKey(spanContext.getTraceId()); + return traceIds.contains(spanContext.getTraceId()); } public void unregister(SpanContext spanContext) { From 732e46ebc85636ae6b4156230fc84560c58f1e82 Mon Sep 17 00:00:00 2001 From: thomasduncan Date: Thu, 3 Apr 2025 08:30:55 -0700 Subject: [PATCH 2/2] Instantiate Set from ConcurrentHashMap. --- .../opentelemetry/profiler/snapshot/TraceRegistry.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/profiler/src/main/java/com/splunk/opentelemetry/profiler/snapshot/TraceRegistry.java b/profiler/src/main/java/com/splunk/opentelemetry/profiler/snapshot/TraceRegistry.java index 9962669db..610f721f1 100644 --- a/profiler/src/main/java/com/splunk/opentelemetry/profiler/snapshot/TraceRegistry.java +++ b/profiler/src/main/java/com/splunk/opentelemetry/profiler/snapshot/TraceRegistry.java @@ -17,11 +17,12 @@ package com.splunk.opentelemetry.profiler.snapshot; import io.opentelemetry.api.trace.SpanContext; +import java.util.Collections; import java.util.Set; -import java.util.concurrent.CopyOnWriteArraySet; +import java.util.concurrent.ConcurrentHashMap; class TraceRegistry { - private final Set traceIds = new CopyOnWriteArraySet<>(); + private final Set traceIds = Collections.newSetFromMap(new ConcurrentHashMap<>()); public void register(SpanContext spanContext) { traceIds.add(spanContext.getTraceId());