Move runnable test classes 40/75040/3
authorMohammad Salehe <salehe@cs.toronto.edu>
Tue, 27 Nov 2018 00:32:55 +0000 (19:32 -0500)
committerMohammad Salehe <salehe@cs.toronto.edu>
Sat, 22 Dec 2018 20:07:11 +0000 (15:07 -0500)
Move runnable test classes which are not actually
tests from src/test to src/main in order for maven
to include them in fat jar

Change-Id: Ib57db631b1c91ae796fa33becc9f06d05eef4219
Issue-ID: MUSIC-148
Signed-off-by: Mohammad Salehe <salehe@cs.toronto.edu>
src/main/java/org/onap/music/testruns/ComparisonPoints1.java [moved from src/test/java/org/onap/music/unittests/ComparisonPoints1.java with 64% similarity]
src/main/java/org/onap/music/testruns/TestVotingApp.java [moved from src/test/java/org/onap/music/unittests/TestVotingApp.java with 99% similarity]

@@ -1,12 +1,19 @@
-package org.onap.music.unittests;
+package org.onap.music.testruns;
 
 import com.datastax.driver.core.ResultSet;
+import org.apache.commons.lang3.tuple.Pair;
 import org.onap.music.datastore.PreparedQueryObject;
 import org.onap.music.exceptions.MusicLockingException;
 import org.onap.music.exceptions.MusicQueryException;
 import org.onap.music.exceptions.MusicServiceException;
 import org.onap.music.main.MusicCore;
+import org.onap.music.util.SamplerHistogramTimeMeasure;
+import org.onap.music.util.TimeMeasure;
+import org.onap.music.util.TimeMeasureInstance;
 
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -41,8 +48,7 @@ public class ComparisonPoints1
             System.out.println("Inconsistency: age = " + readage + " != " + age);
     }
 
-    private void performMusicEntryConsistentPut(String tableName, String name, int age) throws MusicServiceException, MusicLockingException, MusicQueryException {
-
+    private void performWarmup(String tableName, String name, int age) throws MusicServiceException, MusicLockingException, MusicQueryException {
         PreparedQueryObject query = new PreparedQueryObject();
         query.appendQueryString(
                 "INSERT INTO " + keyspaceName + "." + tableName + " (name, age) "
@@ -53,45 +59,60 @@ public class ComparisonPoints1
         MusicCore.atomicPut(keyspaceName, tableName, name, query, null);
     }
 
+
+
     private void warmup() throws Exception {
+        TimeMeasureInstance.instance().enter("warmup");
         String tableName = "warmup";
         System.out.println("Warming Up");
         createTable(tableName);
-        System.out.println("Created tables");
         Thread.sleep(1000);
 
-        long btime = System.currentTimeMillis();
         for (int i = 0; i < BENCH_TIMES; i++) {
             String name = "Joe" + i;
-            int age = i + 10;
-            performMusicEntryConsistentPut(tableName, name, age);
+            int age = i + 12300;
+            performWarmup(tableName, name, age);
 //            check(tableName, name, age);
         }
-        long bdur = System.currentTimeMillis() - btime;
 
         System.out.println("done");
+        TimeMeasureInstance.instance().exit();
+    }
+
+    private void performMusicEntryConsistentPut(String tableName, String name, int age) throws MusicServiceException, MusicLockingException, MusicQueryException {
+        TimeMeasureInstance.instance().enter("performMusicEntryConsistentPut");
+        PreparedQueryObject query = new PreparedQueryObject();
+        query.appendQueryString(
+                "INSERT INTO " + keyspaceName + "." + tableName + " (name, age) "
+                        + "VALUES (?, ?);");
+        query.addValue(name);
+        query.addValue(age);
+
+        MusicCore.atomicPut(keyspaceName, tableName, name, query, null);
+        TimeMeasureInstance.instance().exit();
     }
 
-    private void testMusicEntryConsistentPut() throws Exception {
+    private void benchmarkMusicEntryConsistentPut() throws Exception {
+        TimeMeasureInstance.instance().enter("benchmarkMusicEntryConsistentPut");
         String tableName = "mentry2";
-        System.out.println("Test music entry consistent put 2");
+        System.out.println("Benchmark music entry consistent put");
         createTable(tableName);
-        System.out.println("Created tables");
         Thread.sleep(1000);
+        System.out.println("begin");
 
-        long btime = System.currentTimeMillis();
         for (int i = 0; i < BENCH_TIMES; i++) {
             String name = "Joe" + i;
             int age = i + 10;
             performMusicEntryConsistentPut(tableName, name, age);
 //            check(tableName, name, age);
         }
-        long bdur = System.currentTimeMillis() - btime;
 
-        System.out.println("done " + ((float)bdur / BENCH_TIMES));
+        System.out.println("done");
+        TimeMeasureInstance.instance().exit();
     }
 
     private void performMusicSequentialConsistentPut(String tableName, String name, int age) throws MusicServiceException, MusicLockingException, MusicQueryException {
+        TimeMeasureInstance.instance().enter("performMusicSequentialConsistentPut");
         PreparedQueryObject query = new PreparedQueryObject();
         query.appendQueryString(
                 "INSERT INTO " + keyspaceName + "." + tableName + " (name, age) "
@@ -100,28 +121,30 @@ public class ComparisonPoints1
         query.addValue(age);
 
         MusicCore.atomicPut(keyspaceName, tableName, name, query, null);
+        TimeMeasureInstance.instance().exit();
     }
 
-    private void testMusicSequentialConsistentPut() throws Exception {
+    private void benchmarkMusicSequentialConsistentPut() throws Exception {
+        TimeMeasureInstance.instance().enter("benchmarkMusicSequentialConsistentPut");
         String tableName = "mseq";
-        System.out.println("Test music sequential consistent put");
+        System.out.println("Benchmark music sequential consistent put");
         createTable(tableName);
-        System.out.println("Created tables");
         Thread.sleep(1000);
+        System.out.println("begin");
 
-        long btime = System.currentTimeMillis();
         for (int i = 0; i < BENCH_TIMES; i++) {
             String name = "Joe" + i;
             int age = i + 10;
             performMusicSequentialConsistentPut(tableName, name, age);
 //            check(tableName, name, age);
         }
-        long bdur = System.currentTimeMillis() - btime;
 
-        System.out.println("done " + ((float)bdur / BENCH_TIMES));
+        System.out.println("done");
+        TimeMeasureInstance.instance().exit();
     }
 
     private void performEventualPut(String tableName, String name, int age) throws MusicServiceException, MusicLockingException, MusicQueryException {
+        TimeMeasureInstance.instance().enter("performEventualPut");
         PreparedQueryObject query = new PreparedQueryObject();
         query.appendQueryString(
                 "INSERT INTO " + keyspaceName + "." + tableName + " (name, age) "
@@ -130,28 +153,29 @@ public class ComparisonPoints1
         query.addValue(age);
 
         MusicCore.eventualPut(query);
+        TimeMeasureInstance.instance().exit();
     }
 
-    private void testEventualPut() throws Exception {
+    private void benchmarkEventualPut() throws Exception {
+        TimeMeasureInstance.instance().enter("benchmarkEventualPut");
         String tableName = "eventual";
-        System.out.println("Test eventual put");
+        System.out.println("Benchmark eventual put");
         createTable(tableName);
-        System.out.println("Created tables");
         Thread.sleep(1000);
+        System.out.println("begin");
 
-        long btime = System.currentTimeMillis();
         for (int i = 0; i < BENCH_TIMES; i++) {
             String name = "Joe" + i;
             int age = i + 10;
             performEventualPut(tableName, name, age);
 //            check(tableName, name, age);
         }
-        long bdur = System.currentTimeMillis() - btime;
-
-        System.out.println("done " + ((float)bdur / BENCH_TIMES));
+        System.out.println("done");
+        TimeMeasureInstance.instance().exit();
     }
 
     private void performPureConsistentPut(String tableName, String name, int age) throws MusicServiceException, MusicLockingException, MusicQueryException {
+        TimeMeasureInstance.instance().enter("performPureConsistentPut");
         PreparedQueryObject query = new PreparedQueryObject();
         query.appendQueryString(
                 "INSERT INTO " + keyspaceName + "." + tableName + " (name, age) "
@@ -160,25 +184,26 @@ public class ComparisonPoints1
         query.addValue(age);
 
         MusicCore.eventualPut(query);
+        TimeMeasureInstance.instance().exit();
     }
 
-    private void testPureConsistentPut() throws Exception {
+    private void benchmarkPureConsistentPut() throws Exception {
+        TimeMeasureInstance.instance().enter("benchmarkPureConsistentPut");
         String tableName = "pure";
-        System.out.println("Performing pure consistent put");
+        System.out.println("Benchmark pure consistent put");
         createTable(tableName);
-        System.out.println("Created tables");
         Thread.sleep(1000);
+        System.out.println("begin");
 
-        long btime = System.currentTimeMillis();
         for (int i = 0; i < BENCH_TIMES; i++) {
             String name = "Joe" + i;
             int age = i + 10;
             performPureConsistentPut(tableName, name, age);
 //            check(tableName, name, age);
         }
-        long bdur = System.currentTimeMillis() - btime;
 
-        System.out.println("done " + ((float)bdur / BENCH_TIMES));
+        System.out.println("done");
+        TimeMeasureInstance.instance().exit();
     }
 
     private void createKeyspace() throws MusicServiceException {
@@ -210,29 +235,38 @@ public class ComparisonPoints1
     }
 
        public static void main( String[] args ) throws Exception {
+           TimeMeasureInstance.setInstance(new SamplerHistogramTimeMeasure());
            ComparisonPoints1 cp1 = new ComparisonPoints1();
            cp1.initialize();
            Thread.sleep(2000);
 
            cp1.warmup();
            System.out.println("-----\n\n");
-           Thread.sleep(2000);
+           Thread.sleep(1000);
 
-           cp1.testEventualPut();
+           cp1.benchmarkEventualPut();
            System.out.println("-----\n\n");
-           Thread.sleep(2000);
+           Thread.sleep(1000);
 
-           cp1.testMusicSequentialConsistentPut();
+           cp1.benchmarkMusicSequentialConsistentPut();
            System.out.println("-----\n\n");
-           Thread.sleep(2000);
+           Thread.sleep(1000);
 
-           cp1.testPureConsistentPut();
+           cp1.benchmarkPureConsistentPut();
            System.out.println("-----\n\n");
-           Thread.sleep(2000);
+           Thread.sleep(1000);
 
-           cp1.testMusicEntryConsistentPut();
+           cp1.benchmarkMusicEntryConsistentPut();
            System.out.println("-----\n\n");
 
+           TimeMeasure tm = TimeMeasureInstance.instance();
+
+           Map<String, ArrayList<Double>> e = tm.percentiles();
+           Map<String, Pair<Double, Double>> m = tm.stats();
+           DecimalFormat df = new DecimalFormat("000.000000");
+           e.forEach((k,v) -> System.out.println("" + k + "\t\t: " + Arrays.toString(v.stream().map(w -> "" + df.format(w)).toArray())));
+           m.forEach((k,v) -> System.out.println("" + k + "\t\t: " + df.format(v.getLeft()) + " (" + df.format(v.getRight()) + ")"));
+
            System.exit(0);
     }