You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2012/01/05 17:13:53 UTC
svn commit: r1227665 - in
/incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf:
PerfMain.scala PerfUnitLib.scala
Author: andy
Date: Thu Jan 5 16:13:53 2012
New Revision: 1227665
URL: http://svn.apache.org/viewvc?rev=1227665&view=rev
Log:
local execution ; CSV file output
Modified:
incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfMain.scala
incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfUnitLib.scala
Modified: incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfMain.scala
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfMain.scala?rev=1227665&r1=1227664&r2=1227665&view=diff
==============================================================================
--- incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfMain.scala (original)
+++ incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfMain.scala Thu Jan 5 16:13:53 2012
@@ -24,6 +24,7 @@ import com.hp.hpl.jena.util.FileManager
import java.text.DateFormat
import java.text.SimpleDateFormat
import org.openjena.atlas.logging.Log
+import java.io.FileOutputStream
// TODO:
// Not just SELECT queries
@@ -74,7 +75,11 @@ object PerfMain {
println("Collect results")
enact(new ActionProcessorCollector(collector, monitor), manifest.actionTimedRun)
//report(reporter, collector)
- report(new ReporterAgg(), collector)
+ println()
+ report(new ReporterAgg(System.out), collector)
+ val file = new FileOutputStream("results.csv")
+ report(new ReporterAgg(file), collector)
+ file.close
}
println("Finish @ "+now())
Modified: incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfUnitLib.scala
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfUnitLib.scala?rev=1227665&r1=1227664&r2=1227665&view=diff
==============================================================================
--- incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfUnitLib.scala (original)
+++ incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfUnitLib.scala Thu Jan 5 16:13:53 2012
@@ -19,8 +19,12 @@
package org.apache.jena.perf
import java.util.Date
import scala.collection.mutable.ArrayBuffer
-import java.util.concurrent.atomic.AtomicInteger
+import java.util.concurrent.atomic.AtomicInteger
import scala.collection.mutable.{Map => MMap}
+import java.io.OutputStream
+import org.openjena.atlas.lib.FileOps
+import org.openjena.atlas.io.IO
+import java.io.BufferedWriter
/** A collection of commonly used implementations of PerfUnit interfaces */
@@ -134,11 +138,14 @@ class ReporterPrint extends Reporter {
}
}
-class ReporterAgg extends Reporter {
+class ReporterAgg(stream:OutputStream) extends Reporter {
case class Summary(var num:Int, var total:Long, var min:Long, var max:Long)
// Need unique id for an action.
def report(collector: Collector): Unit = {
+
+ val out = new BufferedWriter(IO.asUTF8(stream))
+
type key = String
var names = List[key]()
val mb = MMap[key, Summary]()
@@ -157,18 +164,19 @@ class ReporterAgg extends Reporter {
s.max = if ( x > s.max ) x else s.max
}
- println()
// CSV :-)
- printf("Query , Average ms , Number , Total ms , Min ms , Max ms\n")
+ out.write("Query , Average ms , Number , Total ms , Min ms , Max ms\n")
// Sort : really needs an id.
names.foreach( name => {
val summary = mb.get(name).get
val avg = if ( summary.num == 0 ) 0.0 else (summary.total / summary.num.asInstanceOf[Double])
- printf("%-15s , %10.2f , %6d ,", name, avg, summary.num)
- printf(" %8d , %7d , %7d\n", summary.total, summary.min, summary.max)
+ out.write("%-15s , %10.2f , %6d ,".format(name, avg, summary.num))
+ out.write(" %8d , %7d , %7d\n".format(summary.total, summary.min, summary.max))
})
- println()
+ out.write("\n")
+ out.flush() ;
+
}
}
\ No newline at end of file