From a27df74202568a30fb05fce0afc88bcf4c29c28b Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Sun, 4 Mar 2018 15:41:48 -0500 Subject: Statistics added --- .../dslreasoner/application/execution/GenerationTaskExecutor.xtend | 7 ++++++- .../mit/inf/dslreasoner/application/execution/ScriptConsole.xtend | 6 ++++-- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner') diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend index 05d4e0c0..10d78f3d 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend @@ -178,6 +178,7 @@ class GenerationTaskExecutor { // 8. Solution processing // 8.1 Visualisation + var solutionVisualisationTime = System.nanoTime if(solution instanceof ModelResult) { val interpretations = solver.getInterpretations(solution) val outputWorkspaceForRun = if(runs > 1) { @@ -208,6 +209,7 @@ class GenerationTaskExecutor { } else { monitor.worked(solverConfig.solutionScope.numberOfRequiredSolution*100) } + solutionVisualisationTime = System.nanoTime - solutionVisualisationTime // 8.2 Statistics val statistics = new LinkedHashMap @@ -217,6 +219,7 @@ class GenerationTaskExecutor { statistics.put("Domain to logic transformation time",domain2LogicTransformationTime/1000000) statistics.put("Logic to solver transformation time",solution.statistics.transformationTime) statistics.put("Solver time",solution.statistics.solverTime) + statistics.put("Postprocessing time",solutionVisualisationTime) for(entry: solution.statistics.entries) { statistics.put(entry.name,statisticsUtil.readValue(entry)) } @@ -225,7 +228,9 @@ class GenerationTaskExecutor { console.flushStatistics console.writeMessage("Model generation finished") } catch(Exception e) { - console.writeError('''Error occured: «e.message»''') + console.writeError(''' + Error occured:«e.message» + «FOR s : e.stackTrace SEPARATOR "\n"» «s»«ENDFOR»''') } } diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptConsole.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptConsole.xtend index 4bf58c67..1d8c473f 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptConsole.xtend +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptConsole.xtend @@ -105,11 +105,13 @@ class ScriptConsole { if(statisticsWorkspace!==null) { val message = ''' «FOR key : statisticsHeaderBuffer SEPARATOR delimier»«key»«ENDFOR» - «FOR line : statisticsDataBuffer » - «FOR key : statisticsHeaderBuffer»«IF line.containsKey(key)»«empty»«ELSE»«line.get(key)»«ENDIF»«ENDFOR» + «FOR line : statisticsDataBuffer» + «FOR key : statisticsHeaderBuffer SEPARATOR delimier»«IF line.containsKey(key)»«line.get(key)»«ELSE»«empty»«ENDIF»«ENDFOR» «ENDFOR» ''' statisticsWorkspace.writeText(statisticsFileName,message); + statisticsHeaderBuffer.clear + statisticsDataBuffer.clear } } -- cgit v1.2.3-54-g00ecf