diff options
-rw-r--r-- | src/main/java/org/onap/music/testruns/ComparisonPoints1.java (renamed from src/test/java/org/onap/music/unittests/ComparisonPoints1.java) | 116 | ||||
-rw-r--r-- | src/main/java/org/onap/music/testruns/TestVotingApp.java (renamed from src/test/java/org/onap/music/unittests/TestVotingApp.java) | 2 |
2 files changed, 76 insertions, 42 deletions
diff --git a/src/test/java/org/onap/music/unittests/ComparisonPoints1.java b/src/main/java/org/onap/music/testruns/ComparisonPoints1.java index 1f74d39e..fb510403 100644 --- a/src/test/java/org/onap/music/unittests/ComparisonPoints1.java +++ b/src/main/java/org/onap/music/testruns/ComparisonPoints1.java @@ -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); } diff --git a/src/test/java/org/onap/music/unittests/TestVotingApp.java b/src/main/java/org/onap/music/testruns/TestVotingApp.java index 863959eb..10830a14 100644 --- a/src/test/java/org/onap/music/unittests/TestVotingApp.java +++ b/src/main/java/org/onap/music/testruns/TestVotingApp.java @@ -1,4 +1,4 @@ -package org.onap.music.unittests; +package org.onap.music.testruns; import java.util.HashMap; import java.util.Map; |