From 0e631b51c47dfecae285fd14f50a346e371a75d8 Mon Sep 17 00:00:00 2001 From: rschoene <rene.schoene@tu-dresden.de> Date: Fri, 22 Jul 2022 16:46:59 +0200 Subject: [PATCH] add percentage skipped --- .../de/tudresden/inf/st/placeB/UtilB.java | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/UtilB.java b/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/UtilB.java index fffa2f6..a7a9beb 100644 --- a/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/UtilB.java +++ b/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/UtilB.java @@ -1,9 +1,7 @@ package de.tudresden.inf.st.placeB; import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.protobuf.util.JsonFormat; import de.tudresden.inf.st.ceti.Object; -import de.tudresden.inf.st.ceti.Reachability; import de.tudresden.inf.st.placeB.ast.*; import de.tudresden.inf.st.ros3rag.common.RegionConfiguration; import de.tudresden.inf.st.ros3rag.common.RegionConfiguration.RegionDefinition; @@ -13,7 +11,6 @@ import org.apache.logging.log4j.Logger; import java.io.File; import java.io.IOException; -import java.nio.file.Files; import java.nio.file.Path; import java.util.List; import java.util.function.Function; @@ -133,10 +130,33 @@ public class UtilB { sb.append("Operations: ").append(model.diffToOperations().prettyPrint(Operation::prettyPrint)).append("\n"); sb.append("Next operation: ").append(model.getNextOperation().prettyPrint()).append("\n"); sb.append("Operation History: ").append(model.getExecutedOperations().prettyPrint(Operation::prettyPrint)).append("\n"); - sb.append("EvaluationCounter:\n").append(model.ragconnectEvaluationCounterSummary()); + String summary = model.ragconnectEvaluationCounterSummary(); + sb.append("EvaluationCounter:\n").append(summary); + sb.append("% skipped: ").append(percentageSkipped(summary)).append("\n"); return sb.toString(); } + static double percentageSkipped(String summary) { + int sumCall = 0; + int sumSkipped = 0; + try { + for (String line : summary.split("\n")) { + String[] tokens = line.split(","); + if (tokens.length == 0 || tokens[0].equals("parentTypeName")) { + continue; + } + sumCall += Integer.parseInt(tokens[4]); + sumSkipped += Integer.parseInt(tokens[6]); + } + } catch (NumberFormatException e) { + logger.catching(e); + } + if (sumCall == 0) { + return 0; + } + return sumSkipped * 100.0 / sumCall; + } + static Scene convert(de.tudresden.inf.st.ceti.Scene scene) throws Exception { return new ExposingASTNode().exposed_apply_ConvertScene(scene); } -- GitLab