diff --git a/src/it/java/io/deephaven/benchmark/tests/standard/file/CsvColTypeTest.java b/src/it/java/io/deephaven/benchmark/tests/standard/file/CsvColTypeTest.java index a7658fd4..cda83b69 100644 --- a/src/it/java/io/deephaven/benchmark/tests/standard/file/CsvColTypeTest.java +++ b/src/it/java/io/deephaven/benchmark/tests/standard/file/CsvColTypeTest.java @@ -7,6 +7,7 @@ * Standard tests for writing single column CSV for different column types. */ @TestMethodOrder(OrderAnnotation.class) +@Tag("Iterate") class CsvColTypeTest { final FileTestRunner runner = new FileTestRunner(this); diff --git a/src/it/java/io/deephaven/benchmark/tests/standard/file/CsvMultiColTest.java b/src/it/java/io/deephaven/benchmark/tests/standard/file/CsvMultiColTest.java index eaf3f94c..b823f069 100644 --- a/src/it/java/io/deephaven/benchmark/tests/standard/file/CsvMultiColTest.java +++ b/src/it/java/io/deephaven/benchmark/tests/standard/file/CsvMultiColTest.java @@ -8,6 +8,7 @@ * the "read" tests. */ @TestMethodOrder(OrderAnnotation.class) +@Tag("Iterate") class CsvMultiColTest { final String[] usedColumns = {"str10K", "long10K", "int10K", "short10K"}; final FileTestRunner runner = new FileTestRunner(this); diff --git a/src/it/java/io/deephaven/benchmark/tests/standard/file/ParquetColTypeTest.java b/src/it/java/io/deephaven/benchmark/tests/standard/file/ParquetColTypeTest.java index 99b9f5e1..340eb781 100644 --- a/src/it/java/io/deephaven/benchmark/tests/standard/file/ParquetColTypeTest.java +++ b/src/it/java/io/deephaven/benchmark/tests/standard/file/ParquetColTypeTest.java @@ -7,6 +7,7 @@ * Standard tests for writing single column parquet for different column types. */ @TestMethodOrder(OrderAnnotation.class) +@Tag("Iterate") class ParquetColTypeTest { final FileTestRunner runner = new FileTestRunner(this); diff --git a/src/it/java/io/deephaven/benchmark/tests/standard/file/ParquetMultiColTest.java b/src/it/java/io/deephaven/benchmark/tests/standard/file/ParquetMultiColTest.java index 985a5cba..0d1dd750 100644 --- a/src/it/java/io/deephaven/benchmark/tests/standard/file/ParquetMultiColTest.java +++ b/src/it/java/io/deephaven/benchmark/tests/standard/file/ParquetMultiColTest.java @@ -8,6 +8,7 @@ * generated by the "write" tests is used by the "read" tests. */ @TestMethodOrder(OrderAnnotation.class) +@Tag("Iterate") class ParquetMultiColTest { final String[] usedColumns = {"str10K", "long10K", "int10K", "short10K", "bigDec10K", "intArr5", "intVec5"}; final FileTestRunner runner = new FileTestRunner(this); @@ -19,7 +20,6 @@ void setup() { @Test @Order(1) - @Tag("Iterate") void writeMultiColSnappy() { runner.runParquetWriteTest("ParquetWrite- Snappy Multi Col -Static", "SNAPPY", usedColumns); } @@ -32,7 +32,6 @@ void readMultiColSnappy() { @Test @Order(3) - @Tag("Iterate") void writeMultiColZstd() { runner.runParquetWriteTest("ParquetWrite- Zstd Multi Col -Static", "ZSTD", usedColumns); } @@ -45,7 +44,6 @@ void readMultiColZstd() { @Test @Order(5) - @Tag("Iterate") void writeMultiColLzo() { runner.runParquetWriteTest("ParquetWrite- Lzo Multi Col -Static", "LZO", usedColumns); } diff --git a/src/main/resources/io/deephaven/benchmark/run/profile/scripts/smoke-test-scale-benchmark.properties b/src/main/resources/io/deephaven/benchmark/run/profile/scripts/smoke-test-scale-benchmark.properties new file mode 100755 index 00000000..1e6dcf8d --- /dev/null +++ b/src/main/resources/io/deephaven/benchmark/run/profile/scripts/smoke-test-scale-benchmark.properties @@ -0,0 +1,47 @@ + +# Deephaven engine address (same one the UI uses) +deephaven.addr=localhost:10000 + +# External java client address (Barrage Java Client) +client.redpanda.addr=localhost:9092 + +# External ReST schema registry supporting kafka (Kafka Producer) +client.schema.registry.addr=localhost:8081 + +# Internal ReST schema registry (Use in query scripts for kafka consume) +schema.registry.addr=redpanda:8081 +#schema.registry.addr=localhost:8081 + +# Internal kafka consumer address (Use in query scripts for kafka consume) +kafka.consumer.addr=redpanda:29092 +#kafka.consumer.addr=localhost:29092 + +# Default timeout to complete processes (Executing queries, generating records) +default.completion.timeout=20 minutes + +# Default data distribution for column data (random, ascending, descending, runlength) +default.data.distribution=random + +# Slows down record generation (Used for experiments not full test runs) +generator.pause.per.row=0 millis + +# Compression used for generating and storing records (ZSTD, LZ4, LZO, GZIP, SNAPPY, NONE) +record.compression=ZSTD + +# Row count to scale tests (Tests can override but typically do not) +scale.row.count=100000 + +# True: Use a timestamp for the parent directory of each test run +# False: Overwrite previous test results for each test run +# Blank: Overwrite if JUnit launch, timestamp if Benchmark main launch +timestamp.test.results= + +# Experimental: Docker compose file (e.g. /mypath/docker-compose.yml +docker.compose.file= + +# The url used for posting notifications to slack +slack.token= + +# The channel to post notifications to +slack.channel= + diff --git a/src/main/resources/io/deephaven/benchmark/run/profile/scripts/smoke-test.sh b/src/main/resources/io/deephaven/benchmark/run/profile/scripts/smoke-test.sh new file mode 100755 index 00000000..4a3f5f24 --- /dev/null +++ b/src/main/resources/io/deephaven/benchmark/run/profile/scripts/smoke-test.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +set -o errexit +set -o pipefail +set -o nounset + +# Smoke test ready-for-merge benchmark changes. Attempts to do something similar to the test ordering that would +# occur when nightly or release run, then does it the adhoc or compare categories are run. + +cp /home/stan/Git/benchmark/target/deephaven-benchmark*.jar . +rm -rf /home/stan/Data/benchmark/results + +rm -f /home/stan/Deephaven/deephaven-edge/data/*.def +rm -f /home/stan/Deephaven/deephaven-edge/data/*.parquet + +JAVA_OPTS="-Dbenchmark.profile=scale-benchmark.properties -jar deephaven-benchmark-1.0-SNAPSHOT.jar -cp deephaven-benchmark-1.0-SNAPSHOT-tests.jar" + +# Run all benchmarks except tagged then run tagged benchmarks with iterations (Similar to what release and nightly do) +java ${JAVA_OPTS} -p io.deephaven.benchmark.tests.standard -n "^.*[.].*Test.*$" -T Iterate + +ITERATIONS=3 +for i in `seq 1 ${ITERATIONS}` +do + +echo "*** Starting Iteration: $i ***" +java ${JAVA_OPTS} -p io.deephaven.benchmark.tests.standard -t Iterate + +done + +# Publish accumulated results for scores to slack +java -Dbenchmark.profile=smoke-test-scale-benchmark.properties -jar deephaven-benchmark-1.0-SNAPSHOT.jar publish + +# Run all benchmarks regardless of tag (Similar to what adhoc and compare do) +rm -f /home/stan/Deephaven/deephaven-edge/data/*.def +rm -f /home/stan/Deephaven/deephaven-edge/data/*.parquet + +java ${JAVA_OPTS} -p io.deephaven.benchmark.tests.standard -n "^.*[.].*Test.*$"