diff --git a/apm-agent-plugins/apm-asynchttpclient-plugin/src/main/java/co/elastic/apm/agent/asynchttpclient/AbstractAsyncHttpClientInstrumentation.java b/apm-agent-plugins/apm-asynchttpclient-plugin/src/main/java/co/elastic/apm/agent/asynchttpclient/AbstractAsyncHttpClientInstrumentation.java index 3132d0c758..ad64dcd9b5 100644 --- a/apm-agent-plugins/apm-asynchttpclient-plugin/src/main/java/co/elastic/apm/agent/asynchttpclient/AbstractAsyncHttpClientInstrumentation.java +++ b/apm-agent-plugins/apm-asynchttpclient-plugin/src/main/java/co/elastic/apm/agent/asynchttpclient/AbstractAsyncHttpClientInstrumentation.java @@ -26,7 +26,7 @@ import co.elastic.apm.agent.impl.transaction.Span; import co.elastic.apm.agent.sdk.DynamicTransformer; import co.elastic.apm.agent.sdk.ElasticApmInstrumentation; -import co.elastic.apm.agent.sdk.weakmap.WeakMapSupplier; +import co.elastic.apm.agent.util.SpanConcurrentHashMap; import com.blogspot.mydailyjava.weaklockfree.WeakConcurrentMap; import net.bytebuddy.asm.Advice; import net.bytebuddy.description.method.MethodDescription; @@ -55,7 +55,7 @@ public abstract class AbstractAsyncHttpClientInstrumentation extends TracerAware public static class Helper { - static final WeakConcurrentMap, Span> handlerSpanMap = WeakMapSupplier.createMap(); + static final WeakConcurrentMap, Span> handlerSpanMap = SpanConcurrentHashMap.createWeakMap(); public static final List> ASYNC_HANDLER_INSTRUMENTATIONS = Arrays.>asList( AsyncHandlerOnCompletedInstrumentation.class, diff --git a/apm-agent-plugins/apm-dubbo-plugin/src/main/java/co/elastic/apm/agent/dubbo/AlibabaCallbackHolder.java b/apm-agent-plugins/apm-dubbo-plugin/src/main/java/co/elastic/apm/agent/dubbo/AlibabaCallbackHolder.java index ba43b54fbb..5db5770c83 100644 --- a/apm-agent-plugins/apm-dubbo-plugin/src/main/java/co/elastic/apm/agent/dubbo/AlibabaCallbackHolder.java +++ b/apm-agent-plugins/apm-dubbo-plugin/src/main/java/co/elastic/apm/agent/dubbo/AlibabaCallbackHolder.java @@ -19,10 +19,10 @@ package co.elastic.apm.agent.dubbo; import co.elastic.apm.agent.impl.transaction.AbstractSpan; -import co.elastic.apm.agent.sdk.weakmap.WeakMapSupplier; +import co.elastic.apm.agent.util.SpanConcurrentHashMap; import com.alibaba.dubbo.remoting.exchange.ResponseCallback; import com.blogspot.mydailyjava.weaklockfree.WeakConcurrentMap; public class AlibabaCallbackHolder { - public static final WeakConcurrentMap> callbackSpanMap = WeakMapSupplier.createMap(); + public static final WeakConcurrentMap> callbackSpanMap = SpanConcurrentHashMap.createWeakMap(); } diff --git a/apm-agent-plugins/apm-process-plugin/src/main/java/co/elastic/apm/agent/process/ProcessHelper.java b/apm-agent-plugins/apm-process-plugin/src/main/java/co/elastic/apm/agent/process/ProcessHelper.java index 18a3096adf..2fd4da88b4 100644 --- a/apm-agent-plugins/apm-process-plugin/src/main/java/co/elastic/apm/agent/process/ProcessHelper.java +++ b/apm-agent-plugins/apm-process-plugin/src/main/java/co/elastic/apm/agent/process/ProcessHelper.java @@ -21,7 +21,7 @@ import co.elastic.apm.agent.impl.transaction.AbstractSpan; import co.elastic.apm.agent.impl.transaction.Outcome; import co.elastic.apm.agent.impl.transaction.Span; -import co.elastic.apm.agent.sdk.weakmap.WeakMapSupplier; +import co.elastic.apm.agent.util.SpanConcurrentHashMap; import com.blogspot.mydailyjava.weaklockfree.WeakConcurrentMap; import javax.annotation.Nonnull; @@ -33,7 +33,7 @@ */ class ProcessHelper { - private static final ProcessHelper INSTANCE = new ProcessHelper(WeakMapSupplier.createMap()); + private static final ProcessHelper INSTANCE = new ProcessHelper(SpanConcurrentHashMap.createWeakMap()); private final WeakConcurrentMap inFlightSpans; diff --git a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/src/main/java/co/elastic/apm/agent/lettuce/Lettuce34Instrumentation.java b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/src/main/java/co/elastic/apm/agent/lettuce/Lettuce34Instrumentation.java index 2e609f7bd9..66fdfc7637 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/src/main/java/co/elastic/apm/agent/lettuce/Lettuce34Instrumentation.java +++ b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/src/main/java/co/elastic/apm/agent/lettuce/Lettuce34Instrumentation.java @@ -20,7 +20,7 @@ import co.elastic.apm.agent.bci.TracerAwareInstrumentation; import co.elastic.apm.agent.impl.transaction.Span; -import co.elastic.apm.agent.sdk.weakmap.WeakMapSupplier; +import co.elastic.apm.agent.util.SpanConcurrentHashMap; import com.blogspot.mydailyjava.weaklockfree.WeakConcurrentMap; import com.lambdaworks.redis.protocol.RedisCommand; import net.bytebuddy.matcher.ElementMatcher; @@ -31,7 +31,8 @@ import static co.elastic.apm.agent.bci.bytebuddy.CustomElementMatchers.classLoaderCanLoadClass; public abstract class Lettuce34Instrumentation extends TracerAwareInstrumentation { - static final WeakConcurrentMap, Span> commandToSpan = WeakMapSupplier.createMap(); + + static final WeakConcurrentMap, Span> commandToSpan = SpanConcurrentHashMap.createWeakMap(); /** * We don't support Lettuce up to version 3.3, as the {@link RedisCommand#getType()} method is missing diff --git a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/src/main/java/co/elastic/apm/agent/lettuce/Lettuce5StartSpanInstrumentation.java b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/src/main/java/co/elastic/apm/agent/lettuce/Lettuce5StartSpanInstrumentation.java index 9c97098eb2..56fcb1a7eb 100644 --- a/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/src/main/java/co/elastic/apm/agent/lettuce/Lettuce5StartSpanInstrumentation.java +++ b/apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/src/main/java/co/elastic/apm/agent/lettuce/Lettuce5StartSpanInstrumentation.java @@ -21,7 +21,7 @@ import co.elastic.apm.agent.bci.TracerAwareInstrumentation; import co.elastic.apm.agent.impl.transaction.Span; import co.elastic.apm.agent.redis.RedisSpanUtils; -import co.elastic.apm.agent.sdk.weakmap.WeakMapSupplier; +import co.elastic.apm.agent.util.SpanConcurrentHashMap; import com.blogspot.mydailyjava.weaklockfree.WeakConcurrentMap; import io.lettuce.core.protocol.RedisCommand; import net.bytebuddy.asm.Advice; @@ -46,7 +46,7 @@ */ public class Lettuce5StartSpanInstrumentation extends TracerAwareInstrumentation { - static final WeakConcurrentMap, Span> commandToSpan = WeakMapSupplier.createMap(); + static final WeakConcurrentMap, Span> commandToSpan = SpanConcurrentHashMap.createWeakMap(); @Override public ElementMatcher getTypeMatcher() {