blob: 7231140a7439aa7ff54676426ed6d5cfc97f26fa [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import CommonJobProperties as commonJobProperties
import LoadTestsBuilder as loadTestsBuilder
import PhraseTriggeringPostCommitBuilder
def now = new Date().format("MMddHHmmss", TimeZone.getTimeZone('UTC'))
def bqioStreamTest = [
title : 'BigQueryIO Streaming Performance Test Java 10 GB',
test : 'org.apache.beam.sdk.bigqueryioperftests.BigQueryIOIT',
runner : CommonTestProperties.Runner.DATAFLOW,
pipelineOptions: [
jobName : 'performance-tests-bqio-java-stream-10gb' + now,
project : 'apache-beam-testing',
tempLocation : 'gs://temp-storage-for-perf-tests/loadtests',
tempRoot : 'gs://temp-storage-for-perf-tests/loadtests',
writeMethod : 'STREAMING_INSERTS',
publishToBigQuery : true,
testBigQueryDataset : 'beam_performance',
testBigQueryTable : 'bqio_write_10GB_java',
metricsBigQueryDataset: 'beam_performance',
metricsBigQueryTable : 'bqio_10GB_results_java_stream',
sourceOptions : '\'{' +
'"num_records": 10485760,' +
'"key_size": 1,' +
'"value_size": 1024}\'',
numWorkers : 5,
autoscalingAlgorithm : 'NONE', // Disable autoscale the worker pool.
]
]
def bqioBatchTest = [
title : 'BigQueryIO Batch Performance Test Java 10 GB',
test : 'org.apache.beam.sdk.bigqueryioperftests.BigQueryIOIT',
runner : CommonTestProperties.Runner.DATAFLOW,
pipelineOptions: [
jobName : 'performance-tests-bqio-java-stream-10gb' + now,
project : 'apache-beam-testing',
tempLocation : 'gs://temp-storage-for-perf-tests/loadtests',
tempRoot : 'gs://temp-storage-for-perf-tests/loadtests',
writeMethod : 'FILE_LOADS',
publishToBigQuery : true,
testBigQueryDataset : 'beam_performance',
testBigQueryTable : 'bqio_write_10GB_java',
metricsBigQueryDataset: 'beam_performance',
metricsBigQueryTable : 'bqio_10GB_results_java_batch',
sourceOptions : '\'{' +
'"num_records": 10485760,' +
'"key_size": 1,' +
'"value_size": 1024}\'',
numWorkers : 5,
autoscalingAlgorithm : 'NONE', // Disable autoscale the worker pool.
]
]
def executeJob = { scope, testConfig ->
job(testConfig.title) {
commonJobProperties.setTopLevelMainJobProperties(scope, 'master', 240)
def testTask = ':sdks:java:io:bigquery-io-perf-tests:integrationTest'
steps {
gradle {
rootBuildScriptDir(commonJobProperties.checkoutDir)
commonJobProperties.setGradleSwitches(delegate)
switches("--info")
switches("-DintegrationTestPipelineOptions=\'${commonJobProperties.joinPipelineOptions(testConfig.pipelineOptions)}\'")
switches("-DintegrationTestRunner=\'${testConfig.runner}\'")
tasks("${testTask} --tests ${testConfig.test}")
}
}
}
}
PhraseTriggeringPostCommitBuilder.postCommitJob(
'beam_BiqQueryIO_Batch_Performance_Test_Java',
'Run BigQueryIO Batch Performance Test Java',
'BigQueryIO Batch Performance Test Java',
this
) {
executeJob(delegate, bqioBatchTest)
}
CronJobBuilder.cronJob('beam_BiqQueryIO_Batch_Performance_Test_Java', 'H 15 * * *', this) {
executeJob(delegate, bqioBatchTest)
}
PhraseTriggeringPostCommitBuilder.postCommitJob(
'beam_BiqQueryIO_Stream_Performance_Test_Java',
'Run BigQueryIO Streaming Performance Test Java',
'BigQueryIO Streaming Performance Test Java',
this
) {
executeJob(delegate, bqioStreamTest)
}
CronJobBuilder.cronJob('beam_BiqQueryIO_Stream_Performance_Test_Java', 'H 15 * * *', this) {
executeJob(delegate, bqioStreamTest)
}