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/06 17:18:58 UTC

svn commit: r1228247 - /incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfMain.scala

Author: andy
Date: Fri Jan  6 16:18:57 2012
New Revision: 1228247

URL: http://svn.apache.org/viewvc?rev=1228247&view=rev
Log:
Arg arguments to command: 
(1) --pause [wait for keystrok before starting]
(2) --explain Enable ARQ/TDB explaination logging.

Modified:
    incubator/jena/Experimental/JenaPerf/trunk/src/main/scala/org/apache/jena/perf/PerfMain.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=1228247&r1=1228246&r2=1228247&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 Fri Jan  6 16:18:57 2012
@@ -25,6 +25,8 @@ import java.text.DateFormat
 import java.text.SimpleDateFormat
 import org.openjena.atlas.logging.Log
 import java.io.FileOutputStream
+import scala.util.matching.Regex
+import com.hp.hpl.jena.sparql.mgt.Explain.InfoLevel
 
 // TODO:
 //   Not just SELECT queries
@@ -38,18 +40,47 @@ import java.io.FileOutputStream
 object PerfMain {
   def main(args: Array[String]): Unit = {
     Log.setLog4j()
+    println("Jena SPARQL Performance testbed")
+    
     var manifestFilename:String = "Benchmarks/SP2B/manifest-local.ttl"
-    if ( args.length == 1 )
-      manifestFilename = args(0)
-    else if ( args.length > 1 )
+
+    val argRE = "-{1,2}(.*)".r
+    
+    var a = args
+    var pause = false 
+    var explain = false
+    
+    // Now make neater!
+    // This allows for args to eat values as well. 
+    while( a.length > 0 && a.head.startsWith("-") )
     {
-      Console.err.println("Usage: manifest")
-      sys.exit(1)
+      val arg = a.head
+      arg match {
+        case argRE("pause") => pause = true
+        case argRE("explain") => explain = true
+        case argRE(a) => Console.err.println("Unknown arg: "+a) ; sys.exit(1)
+      }
+      a = a.tail
+    }
+    
+    a.length match {
+      case 0 => 
+      case 1 => manifestFilename = args(0)
+      case _ => Console.err.println("Usage: [-pause] manifest") ; sys.exit(1)
     }
     
-    println("Jena SPARQL Performance testbed")
     println("Manifest file: "+manifestFilename)
     println
+    
+    if ( pause )
+    {
+      Console.out.print("Waiting ...")
+      Console.in.read()
+    }
+    
+    if ( explain )
+      ARQ.setExecutionLogging(InfoLevel.ALL) ;
+
     val manifest = new ActionBuilderManifest(manifestFilename) 
     print(manifest.label)
     print (" => ")