synchronize profiler queries

This commit is contained in:
dfsek committed 2021-12-30 01:47:47 -07:00
1 parent 570a3bccc5
commit fc50f53944
1 file changed
+10 -8
@@ -106,14 +106,16 @@ public class ProfilerImpl implements Profiler {
@Override @Override
public Map<String, Timings> getTimings() { public Map<String, Timings> getTimings() {
Map<String, Timings> map = new HashMap<>(); Map<String, Timings> map = new HashMap<>();
accessibleThreadMaps.forEach(smap -> smap.forEach((key, list) -> { synchronized(accessibleThreadMaps) {
String[] keys = key.split("\\."); accessibleThreadMaps.forEach(smap -> smap.forEach((key, list) -> {
Timings timings = map.computeIfAbsent(keys[0], id -> new Timings()); String[] keys = key.split("\\.");
for(int i = 1; i < keys.length; i++) { Timings timings = map.computeIfAbsent(keys[0], id -> new Timings());
timings = timings.getSubItem(keys[i]); for(int i = 1; i < keys.length; i++) {
} timings = timings.getSubItem(keys[i]);
list.forEach(timings::addTime); }
})); list.forEach(timings::addTime);
}));
}
return map; return map;
} }
} }