File tree Expand file tree Collapse file tree
jdbc/src/main/java/datadog/trace/instrumentation/jdbc
spring-web/src/main/java/datadog/trace/instrumentation/springweb
trace-annotation/src/main/java/datadog/trace/instrumentation/trace_annotation
tooling/src/main/java/datadog/trace/agent/tooling Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1414import datadog .trace .agent .tooling .Instrumenter ;
1515import java .sql .Connection ;
1616import java .sql .PreparedStatement ;
17+ import java .util .Collections ;
1718import java .util .Map ;
1819import java .util .WeakHashMap ;
1920import lombok .Data ;
2223
2324@ AutoService (Instrumenter .class )
2425public final class ConnectionInstrumentation implements Instrumenter {
25- public static final Map <Connection , DBInfo > connectionInfo = new WeakHashMap <>();
26- public static final Map <PreparedStatement , String > preparedStatements = new WeakHashMap <>();
26+ public static final Map <Connection , DBInfo > connectionInfo =
27+ Collections .synchronizedMap (new WeakHashMap <Connection , DBInfo >());
28+ public static final Map <PreparedStatement , String > preparedStatements =
29+ Collections .synchronizedMap (new WeakHashMap <PreparedStatement , String >());
2730
2831 @ Override
2932 public AgentBuilder instrument (final AgentBuilder agentBuilder ) {
Original file line number Diff line number Diff line change 1717import io .opentracing .Scope ;
1818import io .opentracing .util .GlobalTracer ;
1919import java .sql .PreparedStatement ;
20+ import java .util .Collections ;
2021import java .util .Map ;
2122import java .util .WeakHashMap ;
2223import javax .servlet .http .HttpServletRequest ;
2627
2728@ AutoService (Instrumenter .class )
2829public final class SpringWebInstrumentation implements Instrumenter {
29- public static final Map <PreparedStatement , String > preparedStatements = new WeakHashMap <>();
30+ public static final Map <PreparedStatement , String > preparedStatements =
31+ Collections .synchronizedMap (new WeakHashMap <PreparedStatement , String >());
3032
3133 @ Override
3234 public AgentBuilder instrument (final AgentBuilder agentBuilder ) {
Original file line number Diff line number Diff line change 2222
2323@ AutoService (Instrumenter .class )
2424public final class TraceAnnotationInstrumentation implements Instrumenter {
25- public static final Map <PreparedStatement , String > preparedStatements = new WeakHashMap <>();
25+ public static final Map <PreparedStatement , String > preparedStatements =
26+ Collections .synchronizedMap (new WeakHashMap <PreparedStatement , String >());
2627
2728 @ Override
2829 public AgentBuilder instrument (final AgentBuilder agentBuilder ) {
Original file line number Diff line number Diff line change 11package datadog .trace .agent .tooling ;
22
3+ import java .util .Collections ;
4+ import java .util .Map ;
35import java .util .WeakHashMap ;
46import net .bytebuddy .matcher .ElementMatcher ;
57
@@ -46,7 +48,8 @@ public boolean matches(final ClassLoader target) {
4648 public static class ClassLoaderHasClassMatcher
4749 extends ElementMatcher .Junction .AbstractBase <ClassLoader > {
4850
49- private final WeakHashMap <ClassLoader , Boolean > cache = new WeakHashMap <>();
51+ private final Map <ClassLoader , Boolean > cache =
52+ Collections .synchronizedMap (new WeakHashMap <ClassLoader , Boolean >());
5053
5154 private final String [] names ;
5255
@@ -80,7 +83,8 @@ public boolean matches(final ClassLoader target) {
8083 public static class ClassLoaderHasClassWithFieldMatcher
8184 extends ElementMatcher .Junction .AbstractBase <ClassLoader > {
8285
83- private final WeakHashMap <ClassLoader , Boolean > cache = new WeakHashMap <>();
86+ private final Map <ClassLoader , Boolean > cache =
87+ Collections .synchronizedMap (new WeakHashMap <ClassLoader , Boolean >());
8488
8589 private final String className ;
8690 private final String fieldName ;
You can’t perform that action at this time.
0 commit comments