piotr-szuberski commented on a change in pull request #11661:
URL: https://github.com/apache/beam/pull/11661#discussion_r429088765
##########
File path: .test-infra/jenkins/job_PerformanceTests_Python.groovy
##########
@@ -58,117 +26,59 @@ def dataflowPipelineArgs = [
temp_location : 'gs://temp-storage-for-end-to-end-tests/temp-it',
]
-
-// Configurations of each Jenkins job.
-def testConfigurations = [
- new PerformanceTestConfigurations(
- jobName : 'beam_PerformanceTests_WordCountIT_Py27',
- jobDescription : 'Python SDK Performance Test - Run WordCountIT in
Py27 with 1Gb files',
- jobTriggerPhrase : 'Run Python27 WordCountIT Performance Test',
- resultTable : 'beam_performance.wordcount_py27_pkb_results',
- test :
'apache_beam.examples.wordcount_it_test:WordCountIT.test_wordcount_it',
- itModule : ':sdks:python:test-suites:dataflow:py2',
- extraPipelineArgs : dataflowPipelineArgs + [
- input:
'gs://apache-beam-samples/input_small_files/ascii_sort_1MB_input.0000*', // 1Gb
- output:
'gs://temp-storage-for-end-to-end-tests/py-it-cloud/output',
- expect_checksum: 'ea0ca2e5ee4ea5f218790f28d0b9fe7d09d8d710',
- num_workers: '10',
- autoscaling_algorithm: 'NONE', // Disable autoscale the worker
pool.
- ],
- ),
- new PerformanceTestConfigurations(
- jobName : 'beam_PerformanceTests_WordCountIT_Py35',
- jobDescription : 'Python SDK Performance Test - Run WordCountIT in
Py35 with 1Gb files',
- jobTriggerPhrase : 'Run Python35 WordCountIT Performance Test',
- resultTable : 'beam_performance.wordcount_py35_pkb_results',
- test :
'apache_beam.examples.wordcount_it_test:WordCountIT.test_wordcount_it',
- itModule : ':sdks:python:test-suites:dataflow:py35',
- extraPipelineArgs : dataflowPipelineArgs + [
- input:
'gs://apache-beam-samples/input_small_files/ascii_sort_1MB_input.0000*', // 1Gb
- output:
'gs://temp-storage-for-end-to-end-tests/py-it-cloud/output',
- expect_checksum: 'ea0ca2e5ee4ea5f218790f28d0b9fe7d09d8d710',
- num_workers: '10',
- autoscaling_algorithm: 'NONE', // Disable autoscale the worker
pool.
- ],
- ),
- new PerformanceTestConfigurations(
- jobName : 'beam_PerformanceTests_WordCountIT_Py36',
- jobDescription : 'Python SDK Performance Test - Run WordCountIT in
Py36 with 1Gb files',
- jobTriggerPhrase : 'Run Python36 WordCountIT Performance Test',
- resultTable : 'beam_performance.wordcount_py36_pkb_results',
- test :
'apache_beam.examples.wordcount_it_test:WordCountIT.test_wordcount_it',
- itModule : ':sdks:python:test-suites:dataflow:py36',
- extraPipelineArgs : dataflowPipelineArgs + [
- input:
'gs://apache-beam-samples/input_small_files/ascii_sort_1MB_input.0000*', // 1Gb
- output:
'gs://temp-storage-for-end-to-end-tests/py-it-cloud/output',
- expect_checksum: 'ea0ca2e5ee4ea5f218790f28d0b9fe7d09d8d710',
- num_workers: '10',
- autoscaling_algorithm: 'NONE', // Disable autoscale the worker
pool.
- ],
- ),
- new PerformanceTestConfigurations(
- jobName : 'beam_PerformanceTests_WordCountIT_Py37',
- jobDescription : 'Python SDK Performance Test - Run WordCountIT in
Py37 with 1Gb files',
- jobTriggerPhrase : 'Run Python37 WordCountIT Performance Test',
- resultTable : 'beam_performance.wordcount_py37_pkb_results',
- test :
'apache_beam.examples.wordcount_it_test:WordCountIT.test_wordcount_it',
- itModule : ':sdks:python:test-suites:dataflow:py37',
- extraPipelineArgs : dataflowPipelineArgs + [
- input:
'gs://apache-beam-samples/input_small_files/ascii_sort_1MB_input.0000*', // 1Gb
- output:
'gs://temp-storage-for-end-to-end-tests/py-it-cloud/output',
- expect_checksum: 'ea0ca2e5ee4ea5f218790f28d0b9fe7d09d8d710',
- num_workers: '10',
- autoscaling_algorithm: 'NONE', // Disable autoscale the worker
pool.
- ],
- ),
-]
-
+testConfigurations = []
+pythonVersions = ['27', '35', '36', '37']
+
+for (pythonVersion in pythonVersions) {
Review comment:
I'm not sure if I understand meaning of "dashboards" correctly here, but
we are running tasks via proper python modules that have pythonVersion variable
already set up, so there is no need to set -PpythonVersion manually.
Edit: As far as I know there is no dashboard for those tests yet, we just
publish the metrics results in BQ. I could add reporting to InfluxDB and draw
grafana dashboards for this test, WDYT?
##########
File path: .test-infra/jenkins/job_PerformanceTests_Python.groovy
##########
@@ -58,117 +26,59 @@ def dataflowPipelineArgs = [
temp_location : 'gs://temp-storage-for-end-to-end-tests/temp-it',
]
-
-// Configurations of each Jenkins job.
-def testConfigurations = [
- new PerformanceTestConfigurations(
- jobName : 'beam_PerformanceTests_WordCountIT_Py27',
- jobDescription : 'Python SDK Performance Test - Run WordCountIT in
Py27 with 1Gb files',
- jobTriggerPhrase : 'Run Python27 WordCountIT Performance Test',
- resultTable : 'beam_performance.wordcount_py27_pkb_results',
- test :
'apache_beam.examples.wordcount_it_test:WordCountIT.test_wordcount_it',
- itModule : ':sdks:python:test-suites:dataflow:py2',
- extraPipelineArgs : dataflowPipelineArgs + [
- input:
'gs://apache-beam-samples/input_small_files/ascii_sort_1MB_input.0000*', // 1Gb
- output:
'gs://temp-storage-for-end-to-end-tests/py-it-cloud/output',
- expect_checksum: 'ea0ca2e5ee4ea5f218790f28d0b9fe7d09d8d710',
- num_workers: '10',
- autoscaling_algorithm: 'NONE', // Disable autoscale the worker
pool.
- ],
- ),
- new PerformanceTestConfigurations(
- jobName : 'beam_PerformanceTests_WordCountIT_Py35',
- jobDescription : 'Python SDK Performance Test - Run WordCountIT in
Py35 with 1Gb files',
- jobTriggerPhrase : 'Run Python35 WordCountIT Performance Test',
- resultTable : 'beam_performance.wordcount_py35_pkb_results',
- test :
'apache_beam.examples.wordcount_it_test:WordCountIT.test_wordcount_it',
- itModule : ':sdks:python:test-suites:dataflow:py35',
- extraPipelineArgs : dataflowPipelineArgs + [
- input:
'gs://apache-beam-samples/input_small_files/ascii_sort_1MB_input.0000*', // 1Gb
- output:
'gs://temp-storage-for-end-to-end-tests/py-it-cloud/output',
- expect_checksum: 'ea0ca2e5ee4ea5f218790f28d0b9fe7d09d8d710',
- num_workers: '10',
- autoscaling_algorithm: 'NONE', // Disable autoscale the worker
pool.
- ],
- ),
- new PerformanceTestConfigurations(
- jobName : 'beam_PerformanceTests_WordCountIT_Py36',
- jobDescription : 'Python SDK Performance Test - Run WordCountIT in
Py36 with 1Gb files',
- jobTriggerPhrase : 'Run Python36 WordCountIT Performance Test',
- resultTable : 'beam_performance.wordcount_py36_pkb_results',
- test :
'apache_beam.examples.wordcount_it_test:WordCountIT.test_wordcount_it',
- itModule : ':sdks:python:test-suites:dataflow:py36',
- extraPipelineArgs : dataflowPipelineArgs + [
- input:
'gs://apache-beam-samples/input_small_files/ascii_sort_1MB_input.0000*', // 1Gb
- output:
'gs://temp-storage-for-end-to-end-tests/py-it-cloud/output',
- expect_checksum: 'ea0ca2e5ee4ea5f218790f28d0b9fe7d09d8d710',
- num_workers: '10',
- autoscaling_algorithm: 'NONE', // Disable autoscale the worker
pool.
- ],
- ),
- new PerformanceTestConfigurations(
- jobName : 'beam_PerformanceTests_WordCountIT_Py37',
- jobDescription : 'Python SDK Performance Test - Run WordCountIT in
Py37 with 1Gb files',
- jobTriggerPhrase : 'Run Python37 WordCountIT Performance Test',
- resultTable : 'beam_performance.wordcount_py37_pkb_results',
- test :
'apache_beam.examples.wordcount_it_test:WordCountIT.test_wordcount_it',
- itModule : ':sdks:python:test-suites:dataflow:py37',
- extraPipelineArgs : dataflowPipelineArgs + [
- input:
'gs://apache-beam-samples/input_small_files/ascii_sort_1MB_input.0000*', // 1Gb
- output:
'gs://temp-storage-for-end-to-end-tests/py-it-cloud/output',
- expect_checksum: 'ea0ca2e5ee4ea5f218790f28d0b9fe7d09d8d710',
- num_workers: '10',
- autoscaling_algorithm: 'NONE', // Disable autoscale the worker
pool.
- ],
- ),
-]
-
+testConfigurations = []
+pythonVersions = ['27', '35', '36', '37']
+
+for (pythonVersion in pythonVersions) {
Review comment:
I'm not sure if I understand meaning of "dashboards" correctly here, but
we are running tasks via proper python modules that have pythonVersion variable
already set up, so there is no need to set -PpythonVersion manually.
Edit: As far as I know there is no dashboard for those tests yet, we just
publish the metrics results in BQ. I could add reporting to InfluxDB and draw
grafana dashboards for this test, WDYT?
Edit2: I made changes to publish the results on the grafana dashboards
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]