Skip to content

Commit b762c33

Browse files
committed
feat: remove unnecessary synchronization
See: [#14047](#14047)
1 parent 6f666c2 commit b762c33

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

instrumentation/runtime-telemetry/runtime-telemetry-java17/library/src/main/java/io/opentelemetry/instrumentation/runtimemetrics/java17/internal/AbstractThreadDispatchingHandler.java

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
package io.opentelemetry.instrumentation.runtimemetrics.java17.internal;
77

8-
import java.util.Collections;
98
import java.util.LinkedHashMap;
109
import java.util.Map;
1110
import java.util.function.Consumer;
@@ -16,17 +15,15 @@
1615
* any time.
1716
*/
1817
public abstract class AbstractThreadDispatchingHandler implements RecordedEventHandler {
18+
// Use an access-ordered LinkedHashMap so we get a bounded LRU cache
1919
private final Map<String, Consumer<RecordedEvent>> perThread =
20-
Collections.synchronizedMap(
21-
// Use an access-ordered LinkedHashMap so we get a bounded LRU cache
22-
new LinkedHashMap<String, Consumer<RecordedEvent>>(16, 0.75F, true) {
23-
24-
@Override
25-
protected boolean removeEldestEntry(Map.Entry<String, Consumer<RecordedEvent>> eldest) {
26-
// Bound this map to prevent memory leaks with fast-cycling thread frameworks
27-
return size() > 1024;
28-
}
29-
});
20+
new LinkedHashMap<String, Consumer<RecordedEvent>>(16, 0.75F, true) {
21+
@Override
22+
protected boolean removeEldestEntry(Map.Entry<String, Consumer<RecordedEvent>> eldest) {
23+
// Bound this map to prevent memory leaks with fast-cycling thread frameworks
24+
return size() > 512;
25+
}
26+
};
3027
private final ThreadGrouper grouper;
3128

3229
protected AbstractThreadDispatchingHandler(ThreadGrouper grouper) {

0 commit comments

Comments
 (0)