X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.db.impl%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fimpl%2Fgraph%2FBarrierTracing.java;fp=bundles%2Forg.simantics.db.impl%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fimpl%2Fgraph%2FBarrierTracing.java;h=2433b897f888d15044e135433aa444fb48f498d0;hp=3ff77f6bc108c18b59535a3c02f3f1b51f78fac0;hb=90a52d58489b6c518b13dde238923125c8f63eec;hpb=bb61be97905f72c01fd99e21c263546c88edc5f7 diff --git a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/graph/BarrierTracing.java b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/graph/BarrierTracing.java index 3ff77f6bc..2433b897f 100644 --- a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/graph/BarrierTracing.java +++ b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/graph/BarrierTracing.java @@ -5,6 +5,7 @@ import java.util.Collection; import java.util.HashMap; import java.util.Map; +import org.simantics.db.impl.BlockingAsyncProcedure; import org.simantics.db.impl.query.CacheEntry; import org.simantics.db.impl.query.QueryProcessor.SessionTask; @@ -19,7 +20,31 @@ public class BarrierTracing { public static final HashMap> entryMap = new HashMap<>(); public static final HashMap restartMap = new HashMap<>(); public static final HashMap startMap = new HashMap<>(); + public static final HashMap baps = new HashMap<>(); + synchronized public static void registerBAP(BlockingAsyncProcedure bap) { + baps.put(bap, new Exception()); + } + + synchronized public static void unregisterBAP(BlockingAsyncProcedure bap) { + baps.remove(bap); + } + + synchronized public static void printBAPS() { + for(BlockingAsyncProcedure bap : baps.keySet()) { + Throwable e = baps.get(bap); + System.err.println("BlockingAsyncProcedure"); + System.err.println("-key: " + bap.key); + System.err.println("-queryGraph: " + bap.queryGraph); + System.err.println("-callerGraph: " + bap.callerGraph); + System.err.println("-procedure: " + bap.procedure); + System.err.println("-pendingTaskSupport: " + bap.pendingTaskSupport); + System.err.println("-result: " + bap.result); + System.err.println("-exception: " + bap.exception); + e.printStackTrace(); + } + } + public static void trace(AsyncBarrierImpl barrier, CacheEntry entry) { if (RESTART_GUARD) {