[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-06-29 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=117281=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-117281
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 29/Jun/18 08:37
Start Date: 29/Jun/18 08:37
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5812: 
[BEAM-3942] Remove mvn leftovers from jenkins IOIT job definitions
URL: https://github.com/apache/beam/pull/5812#discussion_r199091638
 
 

 ##
 File path: .test-infra/jenkins/job_PerformanceTests_FileBasedIO_IT.groovy
 ##
 @@ -129,16 +129,15 @@ private void 
create_filebasedio_performance_test_job(testConfiguration) {
 }
 
 def argMap = [
-benchmarks   : 'beam_integration_benchmark',
-beam_it_timeout  : '1200',
-beam_it_profile  : 'io-it',
-beam_prebuilt: 'false',
-beam_sdk : 'java',
-beam_it_module   : 'sdks/java/io/file-based-io-tests',
-beam_it_class: testConfiguration.itClass,
-beam_it_options  : 
common_job_properties.joinPipelineOptions(pipelineOptions),
-beam_extra_mvn_properties: '["filesystem=gcs"]',
-bigquery_table   : testConfiguration.bqTable,
+benchmarks   : 'beam_integration_benchmark',
 
 Review comment:
   It is automatic. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 117281)
Time Spent: 12h 50m  (was: 12h 40m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
> Fix For: 2.5.0
>
>  Time Spent: 12h 50m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-06-29 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=117248=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-117248
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 29/Jun/18 07:31
Start Date: 29/Jun/18 07:31
Worklog Time Spent: 10m 
  Work Description: iemejia closed pull request #5812: [BEAM-3942] Remove 
mvn leftovers from jenkins IOIT job definitions
URL: https://github.com/apache/beam/pull/5812
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/.test-infra/jenkins/common_job_properties.groovy 
b/.test-infra/jenkins/common_job_properties.groovy
index 5d9dad63e78..b30f0485c4c 100644
--- a/.test-infra/jenkins/common_job_properties.groovy
+++ b/.test-infra/jenkins/common_job_properties.groovy
@@ -265,7 +265,6 @@ class common_job_properties {
 LinkedHashMap standardArgs = [
   project: 'apache-beam-testing',
   dpb_log_level: 'INFO',
-  maven_binary: '/home/jenkins/tools/maven/latest/bin/mvn',
   bigquery_table: 'beam_performance.pkb_results',
   k8s_get_retry_count: 36, // wait up to 6 minutes for K8s LoadBalancer
   k8s_get_wait_interval: 10,
diff --git a/.test-infra/jenkins/job_PerformanceTests_FileBasedIO_IT.groovy 
b/.test-infra/jenkins/job_PerformanceTests_FileBasedIO_IT.groovy
index 5d95be3f51b..c9aca0b82f8 100644
--- a/.test-infra/jenkins/job_PerformanceTests_FileBasedIO_IT.groovy
+++ b/.test-infra/jenkins/job_PerformanceTests_FileBasedIO_IT.groovy
@@ -129,16 +129,15 @@ private void 
create_filebasedio_performance_test_job(testConfiguration) {
 }
 
 def argMap = [
-benchmarks   : 'beam_integration_benchmark',
-beam_it_timeout  : '1200',
-beam_it_profile  : 'io-it',
-beam_prebuilt: 'false',
-beam_sdk : 'java',
-beam_it_module   : 'sdks/java/io/file-based-io-tests',
-beam_it_class: testConfiguration.itClass,
-beam_it_options  : 
common_job_properties.joinPipelineOptions(pipelineOptions),
-beam_extra_mvn_properties: '["filesystem=gcs"]',
-bigquery_table   : testConfiguration.bqTable,
+benchmarks   : 'beam_integration_benchmark',
+beam_it_timeout  : '1200',
+beam_prebuilt: 'false',
+beam_sdk : 'java',
+beam_it_module   : 'sdks/java/io/file-based-io-tests',
+beam_it_class: testConfiguration.itClass,
+beam_it_options  : 
common_job_properties.joinPipelineOptions(pipelineOptions),
+beam_extra_properties: '["filesystem=gcs"]',
+bigquery_table   : testConfiguration.bqTable,
 ]
 common_job_properties.buildPerformanceTest(delegate, argMap)
 }
diff --git 
a/.test-infra/jenkins/job_PerformanceTests_FileBasedIO_IT_HDFS.groovy 
b/.test-infra/jenkins/job_PerformanceTests_FileBasedIO_IT_HDFS.groovy
index 26e65202d43..2cf331144ef 100644
--- a/.test-infra/jenkins/job_PerformanceTests_FileBasedIO_IT_HDFS.groovy
+++ b/.test-infra/jenkins/job_PerformanceTests_FileBasedIO_IT_HDFS.groovy
@@ -139,19 +139,18 @@ private void 
create_filebasedio_performance_test_job(testConfiguration) {
 String kubeconfig = 
common_job_properties.getKubeconfigLocationForNamespace(namespace)
 
 def argMap = [
-kubeconfig   : kubeconfig,
-benchmarks   : 'beam_integration_benchmark',
-beam_it_timeout  : '1200',
-beam_it_profile  : 'io-it',
-beam_prebuilt: 'false',
-beam_sdk : 'java',
-beam_it_module   : 'sdks/java/io/file-based-io-tests',
-beam_it_class: testConfiguration.itClass,
-beam_it_options  : pipelineArgsJoined,
-beam_extra_mvn_properties: '["filesystem=hdfs"]',
-bigquery_table   : testConfiguration.bqTable,
-beam_options_config_file : makePathAbsolute('pkb-config.yml'),
-beam_kubernetes_scripts  : 
makePathAbsolute('hdfs-multi-datanode-cluster.yml')
+kubeconfig  : kubeconfig,
+benchmarks  : 'beam_integration_benchmark',
+beam_it_timeout : '1200',
+beam_prebuilt   : 'false',
+beam_sdk  

[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-06-29 Thread ASF GitHub Bot (JIRA)


 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=117247=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-117247
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 29/Jun/18 07:30
Start Date: 29/Jun/18 07:30
Worklog Time Spent: 10m 
  Work Description: iemejia commented on a change in pull request #5812: 
[BEAM-3942] Remove mvn leftovers from jenkins IOIT job definitions
URL: https://github.com/apache/beam/pull/5812#discussion_r199075858
 
 

 ##
 File path: .test-infra/jenkins/job_PerformanceTests_FileBasedIO_IT.groovy
 ##
 @@ -129,16 +129,15 @@ private void 
create_filebasedio_performance_test_job(testConfiguration) {
 }
 
 def argMap = [
-benchmarks   : 'beam_integration_benchmark',
-beam_it_timeout  : '1200',
-beam_it_profile  : 'io-it',
-beam_prebuilt: 'false',
-beam_sdk : 'java',
-beam_it_module   : 'sdks/java/io/file-based-io-tests',
-beam_it_class: testConfiguration.itClass,
-beam_it_options  : 
common_job_properties.joinPipelineOptions(pipelineOptions),
-beam_extra_mvn_properties: '["filesystem=gcs"]',
-bigquery_table   : testConfiguration.bqTable,
+benchmarks   : 'beam_integration_benchmark',
 
 Review comment:
   Minor question, is this reformatting automatic? I kind of dislike having 
everything aligned to colons but it seems this is common in groovy.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 117247)
Time Spent: 12.5h  (was: 12h 20m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
> Fix For: 2.5.0
>
>  Time Spent: 12.5h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-17 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=91858=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-91858
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 17/Apr/18 18:06
Start Date: 17/Apr/18 18:06
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on issue #5003: [BEAM-3942] 
Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-382088136
 
 
   Retest this please


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 91858)
Time Spent: 12h  (was: 11h 50m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 12h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-17 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=91859=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-91859
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 17/Apr/18 18:06
Start Date: 17/Apr/18 18:06
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on issue #5003: [BEAM-3942] 
Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-382088178
 
 
   LGTM


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 91859)
Time Spent: 12h 10m  (was: 12h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 12h 10m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-17 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=91765=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-91765
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 17/Apr/18 14:28
Start Date: 17/Apr/18 14:28
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-382013189
 
 
   retest this please


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 91765)
Time Spent: 11h 50m  (was: 11h 40m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 11h 50m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-17 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=91738=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-91738
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 17/Apr/18 13:11
Start Date: 17/Apr/18 13:11
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-381986805
 
 
   Done. Rebased to master and divided into two commits.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 91738)
Time Spent: 11h 40m  (was: 11.5h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 11h 40m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-17 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=91708=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-91708
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 17/Apr/18 10:28
Start Date: 17/Apr/18 10:28
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r182025407
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -837,6 +837,179 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+
+  /* Optional properties (set only if needed in your case): */
+
+  // Path to PerfKitBenchmarker application (pkb.py).
+  // It is only required when running Performance Tests with PerfKitBenchmarker
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  // Data Processing Backend's log level.
+  String logLevel = System.getProperty('logLevel', 'INFO')
+
+  // Path to gradle binary.
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+
+  // If benchmark is official or not.
+  // Official benchmark results are meant to be displayed on PerfKitExplorer 
dashboards.
+  String isOfficial = System.getProperty('official', 'false')
+
+  // Specifies names of benchmarks to be run by PerfKitBenchmarker.
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  // If beam is not "prebuilt" then PerfKitBenchmarker runs the build task 
before running the tests.
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+
+  // Beam's sdk to be used by PerfKitBenchmarker.
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  // Timeout (in seconds) after which PerfKitBenchmarker will stop executing 
the benchmark (and will fail).
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  // Path to kubernetes configuration file.
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+
+  // Path to kubernetes executable.
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // Paths to files with kubernetes infrastructure to setup before the test 
runs.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  // Path to file with 'dynamic' and 'static' pipeline options.
+  // that will be appended by PerfKitBenchmarker to the test running command.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  // Any additional properties to be appended to benchmark execution command.
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+
+  // Runner which will be used for running the tests. Possible values: 
dataflow/direct.
+  // PerfKitBenchmarker will have trouble reading 'null' value. It expects 
empty string if no config file is expected.
+  String runner = System.getProperty('integrationTestRunner', '')
+
+  // Filesystem which will be used for running the tests. Possible values: 
hdfs.
+  // if not specified runner's local filesystem will be used.
+  String filesystem = System.getProperty('filesystem')
+
+  /* Always required properties: */
+
+  // Pipeline options to be used by the tested pipeline.
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // Fully qualified name of the test to be run, eg:
+  // 'org.apache.beam.sdks.java.io.jdbc.JdbcIOIT'.
+  String integrationTest = System.getProperty('integrationTest')
+
+  // Relative path to module where the test is, eg. 'sdks/java/io/jdbc.
+  String itModule = System.getProperty('itModule')
+}
+
+// When applied in a module's build.gradle file, this closure provides task 
for running
+// IO integration tests (manually, without PerfKitBenchmarker).
+ext.enableJavaPerformanceTesting = {
+  println "enableJavaPerformanceTesting with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  // See: http://groovy-lang.org/closures.html#implicit-it
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
+
+  // Task for running integration tests
+  task integrationTest(type: Test) {
+include "**/*IT.class"
+systemProperties.beamTestPipelineOptions = 
configuration.integrationTestPipelineOptions
+  }
+}
+
+// When applied in a module's build.gradle file, this 

[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-17 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=91707=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-91707
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 17/Apr/18 10:28
Start Date: 17/Apr/18 10:28
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r182025402
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -837,6 +837,179 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+
+  /* Optional properties (set only if needed in your case): */
+
+  // Path to PerfKitBenchmarker application (pkb.py).
+  // It is only required when running Performance Tests with PerfKitBenchmarker
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  // Data Processing Backend's log level.
+  String logLevel = System.getProperty('logLevel', 'INFO')
+
+  // Path to gradle binary.
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+
+  // If benchmark is official or not.
+  // Official benchmark results are meant to be displayed on PerfKitExplorer 
dashboards.
+  String isOfficial = System.getProperty('official', 'false')
+
+  // Specifies names of benchmarks to be run by PerfKitBenchmarker.
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  // If beam is not "prebuilt" then PerfKitBenchmarker runs the build task 
before running the tests.
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+
+  // Beam's sdk to be used by PerfKitBenchmarker.
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  // Timeout (in seconds) after which PerfKitBenchmarker will stop executing 
the benchmark (and will fail).
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  // Path to kubernetes configuration file.
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+
+  // Path to kubernetes executable.
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // Paths to files with kubernetes infrastructure to setup before the test 
runs.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  // Path to file with 'dynamic' and 'static' pipeline options.
+  // that will be appended by PerfKitBenchmarker to the test running command.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  // Any additional properties to be appended to benchmark execution command.
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+
+  // Runner which will be used for running the tests. Possible values: 
dataflow/direct.
+  // PerfKitBenchmarker will have trouble reading 'null' value. It expects 
empty string if no config file is expected.
+  String runner = System.getProperty('integrationTestRunner', '')
+
+  // Filesystem which will be used for running the tests. Possible values: 
hdfs.
+  // if not specified runner's local filesystem will be used.
+  String filesystem = System.getProperty('filesystem')
+
+  /* Always required properties: */
+
+  // Pipeline options to be used by the tested pipeline.
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // Fully qualified name of the test to be run, eg:
+  // 'org.apache.beam.sdks.java.io.jdbc.JdbcIOIT'.
+  String integrationTest = System.getProperty('integrationTest')
+
+  // Relative path to module where the test is, eg. 'sdks/java/io/jdbc.
+  String itModule = System.getProperty('itModule')
+}
+
+// When applied in a module's build.gradle file, this closure provides task 
for running
+// IO integration tests (manually, without PerfKitBenchmarker).
+ext.enableJavaPerformanceTesting = {
+  println "enableJavaPerformanceTesting with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  // See: http://groovy-lang.org/closures.html#implicit-it
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
+
+  // Task for running integration tests
+  task integrationTest(type: Test) {
+include "**/*IT.class"
+systemProperties.beamTestPipelineOptions = 
configuration.integrationTestPipelineOptions
+  }
+}
+
+// When applied in a module's build.gradle file, this 

[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-17 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=91706=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-91706
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 17/Apr/18 10:27
Start Date: 17/Apr/18 10:27
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r182025388
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -837,6 +837,179 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+
+  /* Optional properties (set only if needed in your case): */
+
+  // Path to PerfKitBenchmarker application (pkb.py).
+  // It is only required when running Performance Tests with PerfKitBenchmarker
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  // Data Processing Backend's log level.
+  String logLevel = System.getProperty('logLevel', 'INFO')
+
+  // Path to gradle binary.
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+
+  // If benchmark is official or not.
+  // Official benchmark results are meant to be displayed on PerfKitExplorer 
dashboards.
+  String isOfficial = System.getProperty('official', 'false')
+
+  // Specifies names of benchmarks to be run by PerfKitBenchmarker.
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  // If beam is not "prebuilt" then PerfKitBenchmarker runs the build task 
before running the tests.
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+
+  // Beam's sdk to be used by PerfKitBenchmarker.
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  // Timeout (in seconds) after which PerfKitBenchmarker will stop executing 
the benchmark (and will fail).
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  // Path to kubernetes configuration file.
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+
+  // Path to kubernetes executable.
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // Paths to files with kubernetes infrastructure to setup before the test 
runs.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  // Path to file with 'dynamic' and 'static' pipeline options.
+  // that will be appended by PerfKitBenchmarker to the test running command.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  // Any additional properties to be appended to benchmark execution command.
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+
+  // Runner which will be used for running the tests. Possible values: 
dataflow/direct.
+  // PerfKitBenchmarker will have trouble reading 'null' value. It expects 
empty string if no config file is expected.
+  String runner = System.getProperty('integrationTestRunner', '')
+
+  // Filesystem which will be used for running the tests. Possible values: 
hdfs.
+  // if not specified runner's local filesystem will be used.
+  String filesystem = System.getProperty('filesystem')
+
+  /* Always required properties: */
+
+  // Pipeline options to be used by the tested pipeline.
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // Fully qualified name of the test to be run, eg:
+  // 'org.apache.beam.sdks.java.io.jdbc.JdbcIOIT'.
+  String integrationTest = System.getProperty('integrationTest')
+
+  // Relative path to module where the test is, eg. 'sdks/java/io/jdbc.
+  String itModule = System.getProperty('itModule')
+}
+
+// When applied in a module's build.gradle file, this closure provides task 
for running
+// IO integration tests (manually, without PerfKitBenchmarker).
+ext.enableJavaPerformanceTesting = {
+  println "enableJavaPerformanceTesting with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  // See: http://groovy-lang.org/closures.html#implicit-it
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
+
+  // Task for running integration tests
+  task integrationTest(type: Test) {
+include "**/*IT.class"
+systemProperties.beamTestPipelineOptions = 
configuration.integrationTestPipelineOptions
+  }
+}
+
+// When applied in a module's build.gradle file, this 

[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-16 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=91568=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-91568
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 17/Apr/18 01:44
Start Date: 17/Apr/18 01:44
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on a change in pull request 
#5003: [BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r181932094
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -837,6 +837,179 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+
+  /* Optional properties (set only if needed in your case): */
+
+  // Path to PerfKitBenchmarker application (pkb.py).
+  // It is only required when running Performance Tests with PerfKitBenchmarker
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  // Data Processing Backend's log level.
+  String logLevel = System.getProperty('logLevel', 'INFO')
+
+  // Path to gradle binary.
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+
+  // If benchmark is official or not.
+  // Official benchmark results are meant to be displayed on PerfKitExplorer 
dashboards.
+  String isOfficial = System.getProperty('official', 'false')
+
+  // Specifies names of benchmarks to be run by PerfKitBenchmarker.
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  // If beam is not "prebuilt" then PerfKitBenchmarker runs the build task 
before running the tests.
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+
+  // Beam's sdk to be used by PerfKitBenchmarker.
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  // Timeout (in seconds) after which PerfKitBenchmarker will stop executing 
the benchmark (and will fail).
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  // Path to kubernetes configuration file.
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+
+  // Path to kubernetes executable.
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // Paths to files with kubernetes infrastructure to setup before the test 
runs.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  // Path to file with 'dynamic' and 'static' pipeline options.
+  // that will be appended by PerfKitBenchmarker to the test running command.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  // Any additional properties to be appended to benchmark execution command.
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+
+  // Runner which will be used for running the tests. Possible values: 
dataflow/direct.
+  // PerfKitBenchmarker will have trouble reading 'null' value. It expects 
empty string if no config file is expected.
+  String runner = System.getProperty('integrationTestRunner', '')
+
+  // Filesystem which will be used for running the tests. Possible values: 
hdfs.
+  // if not specified runner's local filesystem will be used.
+  String filesystem = System.getProperty('filesystem')
+
+  /* Always required properties: */
+
+  // Pipeline options to be used by the tested pipeline.
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // Fully qualified name of the test to be run, eg:
+  // 'org.apache.beam.sdks.java.io.jdbc.JdbcIOIT'.
+  String integrationTest = System.getProperty('integrationTest')
+
+  // Relative path to module where the test is, eg. 'sdks/java/io/jdbc.
+  String itModule = System.getProperty('itModule')
+}
+
+// When applied in a module's build.gradle file, this closure provides task 
for running
+// IO integration tests (manually, without PerfKitBenchmarker).
+ext.enableJavaPerformanceTesting = {
+  println "enableJavaPerformanceTesting with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  // See: http://groovy-lang.org/closures.html#implicit-it
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
+
+  // Task for running integration tests
+  task integrationTest(type: Test) {
+include "**/*IT.class"
+systemProperties.beamTestPipelineOptions = 
configuration.integrationTestPipelineOptions
+  }
+}
+
+// When applied in a module's build.gradle file, 

[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-16 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=91569=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-91569
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 17/Apr/18 01:44
Start Date: 17/Apr/18 01:44
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on a change in pull request 
#5003: [BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r181932097
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -837,6 +837,179 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+
+  /* Optional properties (set only if needed in your case): */
+
+  // Path to PerfKitBenchmarker application (pkb.py).
+  // It is only required when running Performance Tests with PerfKitBenchmarker
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  // Data Processing Backend's log level.
+  String logLevel = System.getProperty('logLevel', 'INFO')
+
+  // Path to gradle binary.
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+
+  // If benchmark is official or not.
+  // Official benchmark results are meant to be displayed on PerfKitExplorer 
dashboards.
+  String isOfficial = System.getProperty('official', 'false')
+
+  // Specifies names of benchmarks to be run by PerfKitBenchmarker.
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  // If beam is not "prebuilt" then PerfKitBenchmarker runs the build task 
before running the tests.
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+
+  // Beam's sdk to be used by PerfKitBenchmarker.
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  // Timeout (in seconds) after which PerfKitBenchmarker will stop executing 
the benchmark (and will fail).
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  // Path to kubernetes configuration file.
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+
+  // Path to kubernetes executable.
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // Paths to files with kubernetes infrastructure to setup before the test 
runs.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  // Path to file with 'dynamic' and 'static' pipeline options.
+  // that will be appended by PerfKitBenchmarker to the test running command.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  // Any additional properties to be appended to benchmark execution command.
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+
+  // Runner which will be used for running the tests. Possible values: 
dataflow/direct.
+  // PerfKitBenchmarker will have trouble reading 'null' value. It expects 
empty string if no config file is expected.
+  String runner = System.getProperty('integrationTestRunner', '')
+
+  // Filesystem which will be used for running the tests. Possible values: 
hdfs.
+  // if not specified runner's local filesystem will be used.
+  String filesystem = System.getProperty('filesystem')
+
+  /* Always required properties: */
+
+  // Pipeline options to be used by the tested pipeline.
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // Fully qualified name of the test to be run, eg:
+  // 'org.apache.beam.sdks.java.io.jdbc.JdbcIOIT'.
+  String integrationTest = System.getProperty('integrationTest')
+
+  // Relative path to module where the test is, eg. 'sdks/java/io/jdbc.
+  String itModule = System.getProperty('itModule')
+}
+
+// When applied in a module's build.gradle file, this closure provides task 
for running
+// IO integration tests (manually, without PerfKitBenchmarker).
+ext.enableJavaPerformanceTesting = {
+  println "enableJavaPerformanceTesting with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  // See: http://groovy-lang.org/closures.html#implicit-it
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
+
+  // Task for running integration tests
+  task integrationTest(type: Test) {
+include "**/*IT.class"
+systemProperties.beamTestPipelineOptions = 
configuration.integrationTestPipelineOptions
+  }
+}
+
+// When applied in a module's build.gradle file, 

[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-16 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=91340=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-91340
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 16/Apr/18 13:39
Start Date: 16/Apr/18 13:39
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-381602540
 
 
   Things that changed (see the commit descriptions for more details): 
   
   1. Filesystem support was added (crucial for recently added hdfs IOITs)
   2. The direct runner dependency was deleted from file-based-io-tests module 
(it is added either way by "packageIntegrationTests" task and caused problems 
(couldn't compile)
   3. Moved _integrationTest_ and _packageIntegrationTests_ tasks to different 
closures to make integration test configuration more flexible and avoid cyclic 
dependencies in some cases. 
   
   Due to some problems i had after merging master recently to this branch, I 
also made sure that all configurations needed by current Jenkins jobs work. I 
also updated the 
"[errata](https://docs.google.com/document/d/1CJZURnqCabc_GA-qgC3JYKQdhh00T2l5FzFS0DF12wU/edit)"
 document. 
   
   Could you guys take a look again? 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 91340)
Time Spent: 10h 40m  (was: 10.5h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 10h 40m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-13 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=90856=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90856
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 13/Apr/18 15:52
Start Date: 13/Apr/18 15:52
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-381179356
 
 
   Update: I was able to successfully run tests on hdfs filesystem too using 
"integrationTest" task but there are several issues due to previous merge 
commit that prevent me from running the "performanceTest" task. Working on 
demystifying and solving the issue.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 90856)
Time Spent: 10.5h  (was: 10h 20m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 10.5h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-13 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=90855=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90855
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 13/Apr/18 15:52
Start Date: 13/Apr/18 15:52
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-381179356
 
 
   Update: I was able to successfully run tests on hdfs filesystem too using 
"integrationTest" task but there are several issues due to previous merge 
commit that prevent me from running the performanceTest task. Working on 
demystifying and solving the issue.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 90855)
Time Spent: 10h 20m  (was: 10h 10m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 10h 20m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-12 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=90443=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90443
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 12/Apr/18 15:22
Start Date: 12/Apr/18 15:22
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r181119759
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -837,6 +837,154 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+
+  /* Optional properties (set only if needed in your case): */
+
+  // Path to PerfKitBenchmarker application (pkb.py).
+  // It is only required when running Performance Tests with PerfKitBenchmarker
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  // Data Processing Backend's log level.
+  String logLevel = System.getProperty('logLevel', 'INFO')
+
+  // Path to gradle binary.
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+
+  // If benchmark is official or not.
+  // Official benchmark results are meant to be displayed on PerfKitExplorer 
dashboards.
+  String isOfficial = System.getProperty('official', 'false')
+
+  // Specifies names of benchmarks to be run by PerfKitBenchmarker.
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  // If beam is not "prebuilt" then PerfKitBenchmarker runs the build task 
before running the tests.
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+
+  // Beam's sdk to be used by PerfKitBenchmarker.
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  // Timeout (in seconds) after which PerfKitBenchmarker will stop executing 
the benchmark (and will fail).
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  // Path to kubernetes configuration file.
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+
+  // Path to kubernetes executable.
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // Paths to files with kubernetes infrastructure to setup before the test 
runs.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  // Path to file with 'dynamic' and 'static' pipeline options.
+  // that will be appended by PerfKitBenchmarker to the test running command.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  // Any additional properties to be appended to benchmark execution command.
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+
+  // Runner which will be used for running the tests.
+  String runner = System.getProperty('integrationTestRunner', 'direct')
 
 Review comment:
   I think, unfortunately I've made a mistake here: we shouldn't set default 
value of this property. This will result in adding direct runner as a 
dependency everytime building is run (even if we are not running the 
integrationTest task). Sorry for that!
   
   A solution would be to not set the default value - the dependency won't be 
included when there is no runner to attach. This property would then be always 
required (same as "integrationTestPipelineOptions"). WDYT?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 90443)
Time Spent: 10h 10m  (was: 10h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 10h 10m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-12 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=90442=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90442
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 12/Apr/18 15:18
Start Date: 12/Apr/18 15:18
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r181119759
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -837,6 +837,154 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+
+  /* Optional properties (set only if needed in your case): */
+
+  // Path to PerfKitBenchmarker application (pkb.py).
+  // It is only required when running Performance Tests with PerfKitBenchmarker
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  // Data Processing Backend's log level.
+  String logLevel = System.getProperty('logLevel', 'INFO')
+
+  // Path to gradle binary.
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+
+  // If benchmark is official or not.
+  // Official benchmark results are meant to be displayed on PerfKitExplorer 
dashboards.
+  String isOfficial = System.getProperty('official', 'false')
+
+  // Specifies names of benchmarks to be run by PerfKitBenchmarker.
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  // If beam is not "prebuilt" then PerfKitBenchmarker runs the build task 
before running the tests.
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+
+  // Beam's sdk to be used by PerfKitBenchmarker.
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  // Timeout (in seconds) after which PerfKitBenchmarker will stop executing 
the benchmark (and will fail).
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  // Path to kubernetes configuration file.
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+
+  // Path to kubernetes executable.
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // Paths to files with kubernetes infrastructure to setup before the test 
runs.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  // Path to file with 'dynamic' and 'static' pipeline options.
+  // that will be appended by PerfKitBenchmarker to the test running command.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  // Any additional properties to be appended to benchmark execution command.
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+
+  // Runner which will be used for running the tests.
+  String runner = System.getProperty('integrationTestRunner', 'direct')
 
 Review comment:
   I think, unfortunately I've made a mistake here: we shouldn't set default 
value of this property. This will result in adding direct runner as a 
dependency everytime building is run (even if we are not running the 
integrationTest task). Sorry for that!
   
   A solution would be to not set the default value - the dependency won't be 
included when there is no runner to attach. This property would then be always 
required (same as "integrationTestPipelineOptions"). WDYT?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 90442)
Time Spent: 10h  (was: 9h 50m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 10h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-12 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=90440=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90440
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 12/Apr/18 15:17
Start Date: 12/Apr/18 15:17
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r181119759
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -837,6 +837,154 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+
+  /* Optional properties (set only if needed in your case): */
+
+  // Path to PerfKitBenchmarker application (pkb.py).
+  // It is only required when running Performance Tests with PerfKitBenchmarker
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  // Data Processing Backend's log level.
+  String logLevel = System.getProperty('logLevel', 'INFO')
+
+  // Path to gradle binary.
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+
+  // If benchmark is official or not.
+  // Official benchmark results are meant to be displayed on PerfKitExplorer 
dashboards.
+  String isOfficial = System.getProperty('official', 'false')
+
+  // Specifies names of benchmarks to be run by PerfKitBenchmarker.
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  // If beam is not "prebuilt" then PerfKitBenchmarker runs the build task 
before running the tests.
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+
+  // Beam's sdk to be used by PerfKitBenchmarker.
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  // Timeout (in seconds) after which PerfKitBenchmarker will stop executing 
the benchmark (and will fail).
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  // Path to kubernetes configuration file.
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+
+  // Path to kubernetes executable.
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // Paths to files with kubernetes infrastructure to setup before the test 
runs.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  // Path to file with 'dynamic' and 'static' pipeline options.
+  // that will be appended by PerfKitBenchmarker to the test running command.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  // Any additional properties to be appended to benchmark execution command.
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+
+  // Runner which will be used for running the tests.
+  String runner = System.getProperty('integrationTestRunner', 'direct')
 
 Review comment:
   I think, unfortunately I've made a mistake here: we shouldn't set default 
value of this property. This will result in adding direct runner as a 
dependency everytime building is run (even if we are not running the 
integrationTest task). Sorry for that!
   
   A solution would be to not set the default value - the dependency won't be 
included when there is no runner to attach. This property would then be "always 
required" WDYT?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 90440)
Time Spent: 9h 40m  (was: 9.5h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 9h 40m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-12 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=90441=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90441
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 12/Apr/18 15:17
Start Date: 12/Apr/18 15:17
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r181093624
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -837,6 +837,154 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+
+  /* Optional properties (set only if needed in your case): */
+
+  // Path to PerfKitBenchmarker application (pkb.py).
+  // It is only required when running Performance Tests with PerfKitBenchmarker
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  // Data Processing Backend's log level.
+  String logLevel = System.getProperty('logLevel', 'INFO')
+
+  // Path to gradle binary.
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+
+  // If benchmark is official or not.
+  // Official benchmark results are meant to be displayed on PerfKitExplorer 
dashboards.
+  String isOfficial = System.getProperty('official', 'false')
+
+  // Specifies names of benchmarks to be run by PerfKitBenchmarker.
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  // If beam is not "prebuilt" then PerfKitBenchmarker runs the build task 
before running the tests.
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+
+  // Beam's sdk to be used by PerfKitBenchmarker.
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  // Timeout (in seconds) after which PerfKitBenchmarker will stop executing 
the benchmark (and will fail).
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  // Path to kubernetes configuration file.
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+
+  // Path to kubernetes executable.
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // Paths to files with kubernetes infrastructure to setup before the test 
runs.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  // Path to file with 'dynamic' and 'static' pipeline options.
+  // that will be appended by PerfKitBenchmarker to the test running command.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  // Any additional properties to be appended to benchmark execution command.
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+
+  // Runner which will be used for running the tests.
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  /* Always required properties: */
+
+  // Pipeline options to be used by the tested pipeline.
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
 
 Review comment:
   I think, unfortunately I've made a mistake here: we shouldn't set default 
value of this property. This will result in adding direct runner as a 
dependency everytime building is run (even if we are not running the 
integrationTest task). Sorry for that!
   
   A solution would be to not set the default value - the dependency won't be 
included when there is no runner to attach. This property would then be "always 
required" WDYT?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 90441)
Time Spent: 9h 50m  (was: 9h 40m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 9h 50m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA

[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-12 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=90422=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90422
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 12/Apr/18 14:18
Start Date: 12/Apr/18 14:18
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-380821527
 
 
   Please don't merge this yet.
   
   We already started running tests on hdfs filesystem on Jenkins while this PR 
was being rewiewed. Therefore, support for filesystems needs to be done to be 
able to run all current Jenkins performance tests. Sorry for not noticing this 
earlier. I'll prepare a fix shortly. It will be very similar to runner support: 
dependencies needed by certain filesystems (eg. hdfs) can be included 
conditionally based on a "filesystem" property. 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 90422)
Time Spent: 9.5h  (was: 9h 20m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 9.5h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-12 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=90418=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90418
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 12/Apr/18 14:05
Start Date: 12/Apr/18 14:05
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r181093624
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -837,6 +837,154 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+
+  /* Optional properties (set only if needed in your case): */
+
+  // Path to PerfKitBenchmarker application (pkb.py).
+  // It is only required when running Performance Tests with PerfKitBenchmarker
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  // Data Processing Backend's log level.
+  String logLevel = System.getProperty('logLevel', 'INFO')
+
+  // Path to gradle binary.
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+
+  // If benchmark is official or not.
+  // Official benchmark results are meant to be displayed on PerfKitExplorer 
dashboards.
+  String isOfficial = System.getProperty('official', 'false')
+
+  // Specifies names of benchmarks to be run by PerfKitBenchmarker.
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  // If beam is not "prebuilt" then PerfKitBenchmarker runs the build task 
before running the tests.
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+
+  // Beam's sdk to be used by PerfKitBenchmarker.
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  // Timeout (in seconds) after which PerfKitBenchmarker will stop executing 
the benchmark (and will fail).
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  // Path to kubernetes configuration file.
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+
+  // Path to kubernetes executable.
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // Paths to files with kubernetes infrastructure to setup before the test 
runs.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  // Path to file with 'dynamic' and 'static' pipeline options.
+  // that will be appended by PerfKitBenchmarker to the test running command.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  // Any additional properties to be appended to benchmark execution command.
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+
+  // Runner which will be used for running the tests.
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  /* Always required properties: */
+
+  // Pipeline options to be used by the tested pipeline.
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
 
 Review comment:
   I think, unfortunately I've made a mistake here: we shouldn't set default 
value of this property. This will result in adding direct runner as a 
dependency everytime building is run (even if we are not running the 
integrationTest task). Sorry for that!
   
   A solution would be to not set the default value - the dependency won't be 
included when there is no runner to attach. This property would then be "always 
required" WDYT?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 90418)
Time Spent: 9h 20m  (was: 9h 10m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 9h 20m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA

[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-12 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=90417=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90417
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 12/Apr/18 14:04
Start Date: 12/Apr/18 14:04
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r181092827
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -837,6 +837,154 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+
+  /* Optional properties (set only if needed in your case): */
+
+  // Path to PerfKitBenchmarker application (pkb.py).
+  // It is only required when running Performance Tests with PerfKitBenchmarker
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  // Data Processing Backend's log level.
+  String logLevel = System.getProperty('logLevel', 'INFO')
+
+  // Path to gradle binary.
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+
+  // If benchmark is official or not.
+  // Official benchmark results are meant to be displayed on PerfKitExplorer 
dashboards.
+  String isOfficial = System.getProperty('official', 'false')
+
+  // Specifies names of benchmarks to be run by PerfKitBenchmarker.
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  // If beam is not "prebuilt" then PerfKitBenchmarker runs the build task 
before running the tests.
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+
+  // Beam's sdk to be used by PerfKitBenchmarker.
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  // Timeout (in seconds) after which PerfKitBenchmarker will stop executing 
the benchmark (and will fail).
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  // Path to kubernetes configuration file.
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+
+  // Path to kubernetes executable.
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // Paths to files with kubernetes infrastructure to setup before the test 
runs.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  // Path to file with 'dynamic' and 'static' pipeline options.
+  // that will be appended by PerfKitBenchmarker to the test running command.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  // Any additional properties to be appended to benchmark execution command.
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+
+  // Runner which will be used for running the tests.
+  String runner = System.getProperty('integrationTestRunner', 'direct')
 
 Review comment:
   I think, unfortunately I've made a mistake here: we shouldn't set default 
value of this property. This will result in adding direct runner as a 
dependency everytime building is run (even if we are not running the 
integrationTest task). Sorry for that!
   
   A solution would be to not set the default value - the dependency won't be 
included when there is no runner to attach. WDYT?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 90417)
Time Spent: 9h 10m  (was: 9h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 9h 10m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-12 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=90416=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90416
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 12/Apr/18 14:03
Start Date: 12/Apr/18 14:03
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r181092827
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -837,6 +837,154 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+
+  /* Optional properties (set only if needed in your case): */
+
+  // Path to PerfKitBenchmarker application (pkb.py).
+  // It is only required when running Performance Tests with PerfKitBenchmarker
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  // Data Processing Backend's log level.
+  String logLevel = System.getProperty('logLevel', 'INFO')
+
+  // Path to gradle binary.
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+
+  // If benchmark is official or not.
+  // Official benchmark results are meant to be displayed on PerfKitExplorer 
dashboards.
+  String isOfficial = System.getProperty('official', 'false')
+
+  // Specifies names of benchmarks to be run by PerfKitBenchmarker.
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  // If beam is not "prebuilt" then PerfKitBenchmarker runs the build task 
before running the tests.
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+
+  // Beam's sdk to be used by PerfKitBenchmarker.
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  // Timeout (in seconds) after which PerfKitBenchmarker will stop executing 
the benchmark (and will fail).
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  // Path to kubernetes configuration file.
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+
+  // Path to kubernetes executable.
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // Paths to files with kubernetes infrastructure to setup before the test 
runs.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  // Path to file with 'dynamic' and 'static' pipeline options.
+  // that will be appended by PerfKitBenchmarker to the test running command.
+  // PerfKitBenchmarker will have trouble reading 'null' path. It expects 
empty string if no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  // Any additional properties to be appended to benchmark execution command.
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+
+  // Runner which will be used for running the tests.
+  String runner = System.getProperty('integrationTestRunner', 'direct')
 
 Review comment:
   I think, unfortunately I've made a mistake here: we shouldn't set default 
value of this property. This will result in adding direct runner as a 
dependency everytime building is run (even if we are not running the 
integrationTest task). Sorry for that!
   
   A solution would be to not set the default value - the dependency won't be 
included when there is no runner to attach. WDYT?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 90416)
Time Spent: 9h  (was: 8h 50m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 9h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-12 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=90339=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90339
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 12/Apr/18 09:08
Start Date: 12/Apr/18 09:08
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r181013383
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,149 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+
+  // Path to PerfKitBenchmarker application (pkb.py).
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  // Data Processing Backend's log level.
+  String logLevel = System.getProperty('logLevel', 'INFO')
+
+  // Path to gradle binary.
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+
+  // If benchmark is official or not.
+  // Official benchmark results are meant to be displayed on PerfKitExplorer 
dashboards.
+  String isOfficial = System.getProperty('official', 'false')
+
+  // Specifies names of benchmarks to be run by perfkit.
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  // If beam is not "prebuilt then perfkit runs the build task before running 
the tests.
 
 Review comment:
   ok


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 90339)
Time Spent: 8h 40m  (was: 8.5h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 8h 40m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-12 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=90338=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90338
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 12/Apr/18 09:08
Start Date: 12/Apr/18 09:08
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r181013371
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,149 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+
+  // Path to PerfKitBenchmarker application (pkb.py).
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  // Data Processing Backend's log level.
+  String logLevel = System.getProperty('logLevel', 'INFO')
+
+  // Path to gradle binary.
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+
+  // If benchmark is official or not.
+  // Official benchmark results are meant to be displayed on PerfKitExplorer 
dashboards.
+  String isOfficial = System.getProperty('official', 'false')
+
+  // Specifies names of benchmarks to be run by perfkit.
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  // If beam is not "prebuilt then perfkit runs the build task before running 
the tests.
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+
+  // Beam's sdk to be used by perfkit.
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  // Timeout (in seconds) after which PerfKit will stop executing the 
benchmark (and will fail).
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  // Path to kubernetes configuration file.
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+
+  // Path to kubernetes executable.
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // Paths to files with kubernetes infrastructure to setup before the test 
runs.
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  // Pipeline options to be used by the tested pipeline.
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // Path to file with 'dynamic' and 'static' pipeline options.
+  // that will be appended by perfkit to the test running command.
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  // Fully qualified name of the test to be run, eg:
+  // 'org.apache.beam.sdks.java.io.jdbc.JdbcIOIT'.
 
 Review comment:
   ok


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 90338)
Time Spent: 8.5h  (was: 8h 20m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 8.5h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-12 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=90340=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90340
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 12/Apr/18 09:09
Start Date: 12/Apr/18 09:09
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r181013431
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,149 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+
+  // Path to PerfKitBenchmarker application (pkb.py).
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  // Data Processing Backend's log level.
+  String logLevel = System.getProperty('logLevel', 'INFO')
+
+  // Path to gradle binary.
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+
+  // If benchmark is official or not.
+  // Official benchmark results are meant to be displayed on PerfKitExplorer 
dashboards.
+  String isOfficial = System.getProperty('official', 'false')
+
+  // Specifies names of benchmarks to be run by perfkit.
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  // If beam is not "prebuilt then perfkit runs the build task before running 
the tests.
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+
+  // Beam's sdk to be used by perfkit.
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  // Timeout (in seconds) after which PerfKit will stop executing the 
benchmark (and will fail).
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  // Path to kubernetes configuration file.
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+
+  // Path to kubernetes executable.
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // Paths to files with kubernetes infrastructure to setup before the test 
runs.
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  // Pipeline options to be used by the tested pipeline.
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // Path to file with 'dynamic' and 'static' pipeline options.
+  // that will be appended by perfkit to the test running command.
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  // Fully qualified name of the test to be run, eg:
+  // 'org.apache.beam.sdks.java.io.jdbc.JdbcIOIT'.
+  String integrationTest = System.getProperty('integrationTest')
+
+  // Relative path to module where the test is, eg. 'sdks/java/io/jdbc.
+  String itModule = System.getProperty('itModule')
+
+  // Runner which will be used for running the tests.
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  // Any additional properties to be appended to benchmark execution command.
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+}
+
+// When applied in a module's build.gradle file, this closure provides set of 
tasks
+// needed to run IOIT integration tests (manually, without perfkit).
+ext.enableJavaPerformanceTesting = {
+  println "enableJavaPerformanceTesting with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  // See: http://groovy-lang.org/closures.html#implicit-it
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
+
+  // Add runners needed to run integration tests on
+  task packageIntegrationTests(type: Jar) {
+  def runner = configuration.runner
+  dependencies {
+if (runner.contains('dataflow')) {
+  testCompile project(path: ":runners:google-cloud-dataflow-java", 
configuration: 'shadowTest')
+}
+
+if (runner.contains('direct')) {
+  testCompile project(path: ":runners:direct-java", configuration: 
'shadowTest')
+}
+}
+  }
+
+  // Task for running integration tests
+  task integrationTest(type: Test) {
 
 Review comment:
   I wouldn't call this a requirement - rather a good gradle practice to handle 
things this way. 
   
   For invoking the integration test maven used the Failsafe plugin. It was 
designed in a way to look for all test classes that name ends with "IT" and 
execute them. On the contrary unit tests were 

[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-12 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=90337=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90337
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 12/Apr/18 09:08
Start Date: 12/Apr/18 09:08
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r181013356
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,149 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+
+  // Path to PerfKitBenchmarker application (pkb.py).
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  // Data Processing Backend's log level.
+  String logLevel = System.getProperty('logLevel', 'INFO')
+
+  // Path to gradle binary.
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+
+  // If benchmark is official or not.
+  // Official benchmark results are meant to be displayed on PerfKitExplorer 
dashboards.
+  String isOfficial = System.getProperty('official', 'false')
+
+  // Specifies names of benchmarks to be run by perfkit.
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  // If beam is not "prebuilt then perfkit runs the build task before running 
the tests.
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+
+  // Beam's sdk to be used by perfkit.
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  // Timeout (in seconds) after which PerfKit will stop executing the 
benchmark (and will fail).
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  // Path to kubernetes configuration file.
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+
+  // Path to kubernetes executable.
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // Paths to files with kubernetes infrastructure to setup before the test 
runs.
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  // Pipeline options to be used by the tested pipeline.
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // Path to file with 'dynamic' and 'static' pipeline options.
+  // that will be appended by perfkit to the test running command.
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  // Fully qualified name of the test to be run, eg:
+  // 'org.apache.beam.sdks.java.io.jdbc.JdbcIOIT'.
+  String integrationTest = System.getProperty('integrationTest')
+
+  // Relative path to module where the test is, eg. 'sdks/java/io/jdbc.
+  String itModule = System.getProperty('itModule')
+
+  // Runner which will be used for running the tests.
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  // Any additional properties to be appended to benchmark execution command.
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+}
+
+// When applied in a module's build.gradle file, this closure provides set of 
tasks
+// needed to run IOIT integration tests (manually, without perfkit).
 
 Review comment:
   ok


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 90337)
Time Spent: 8h 20m  (was: 8h 10m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 8h 20m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-11 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=90248=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90248
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 12/Apr/18 01:08
Start Date: 12/Apr/18 01:08
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on a change in pull request 
#5003: [BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180940673
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,149 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+
+  // Path to PerfKitBenchmarker application (pkb.py).
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  // Data Processing Backend's log level.
+  String logLevel = System.getProperty('logLevel', 'INFO')
+
+  // Path to gradle binary.
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+
+  // If benchmark is official or not.
+  // Official benchmark results are meant to be displayed on PerfKitExplorer 
dashboards.
+  String isOfficial = System.getProperty('official', 'false')
+
+  // Specifies names of benchmarks to be run by perfkit.
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  // If beam is not "prebuilt then perfkit runs the build task before running 
the tests.
 
 Review comment:
   
   Nit: end quote after prebuilt.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 90248)
Time Spent: 7h 40m  (was: 7.5h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 7h 40m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-11 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=90246=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90246
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 12/Apr/18 01:08
Start Date: 12/Apr/18 01:08
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on a change in pull request 
#5003: [BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180940672
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,149 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+
+  // Path to PerfKitBenchmarker application (pkb.py).
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  // Data Processing Backend's log level.
+  String logLevel = System.getProperty('logLevel', 'INFO')
+
+  // Path to gradle binary.
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+
+  // If benchmark is official or not.
+  // Official benchmark results are meant to be displayed on PerfKitExplorer 
dashboards.
+  String isOfficial = System.getProperty('official', 'false')
+
+  // Specifies names of benchmarks to be run by perfkit.
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  // If beam is not "prebuilt then perfkit runs the build task before running 
the tests.
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+
+  // Beam's sdk to be used by perfkit.
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  // Timeout (in seconds) after which PerfKit will stop executing the 
benchmark (and will fail).
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  // Path to kubernetes configuration file.
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+
+  // Path to kubernetes executable.
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // Paths to files with kubernetes infrastructure to setup before the test 
runs.
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  // Pipeline options to be used by the tested pipeline.
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // Path to file with 'dynamic' and 'static' pipeline options.
+  // that will be appended by perfkit to the test running command.
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  // Fully qualified name of the test to be run, eg:
+  // 'org.apache.beam.sdks.java.io.jdbc.JdbcIOIT'.
 
 Review comment:
   
   Can we group required and optional properties separately ?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 90246)
Time Spent: 7h 20m  (was: 7h 10m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 7h 20m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-11 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=90249=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90249
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 12/Apr/18 01:08
Start Date: 12/Apr/18 01:08
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on a change in pull request 
#5003: [BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180940674
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,149 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+
+  // Path to PerfKitBenchmarker application (pkb.py).
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  // Data Processing Backend's log level.
+  String logLevel = System.getProperty('logLevel', 'INFO')
+
+  // Path to gradle binary.
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+
+  // If benchmark is official or not.
+  // Official benchmark results are meant to be displayed on PerfKitExplorer 
dashboards.
+  String isOfficial = System.getProperty('official', 'false')
+
+  // Specifies names of benchmarks to be run by perfkit.
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  // If beam is not "prebuilt then perfkit runs the build task before running 
the tests.
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+
+  // Beam's sdk to be used by perfkit.
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  // Timeout (in seconds) after which PerfKit will stop executing the 
benchmark (and will fail).
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  // Path to kubernetes configuration file.
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+
+  // Path to kubernetes executable.
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // Paths to files with kubernetes infrastructure to setup before the test 
runs.
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  // Pipeline options to be used by the tested pipeline.
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // Path to file with 'dynamic' and 'static' pipeline options.
+  // that will be appended by perfkit to the test running command.
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  // Fully qualified name of the test to be run, eg:
+  // 'org.apache.beam.sdks.java.io.jdbc.JdbcIOIT'.
+  String integrationTest = System.getProperty('integrationTest')
+
+  // Relative path to module where the test is, eg. 'sdks/java/io/jdbc.
+  String itModule = System.getProperty('itModule')
+
+  // Runner which will be used for running the tests.
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  // Any additional properties to be appended to benchmark execution command.
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+}
+
+// When applied in a module's build.gradle file, this closure provides set of 
tasks
+// needed to run IOIT integration tests (manually, without perfkit).
+ext.enableJavaPerformanceTesting = {
+  println "enableJavaPerformanceTesting with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  // See: http://groovy-lang.org/closures.html#implicit-it
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
+
+  // Add runners needed to run integration tests on
+  task packageIntegrationTests(type: Jar) {
+  def runner = configuration.runner
+  dependencies {
+if (runner.contains('dataflow')) {
+  testCompile project(path: ":runners:google-cloud-dataflow-java", 
configuration: 'shadowTest')
+}
+
+if (runner.contains('direct')) {
+  testCompile project(path: ":runners:direct-java", configuration: 
'shadowTest')
+}
+}
+  }
+
+  // Task for running integration tests
+  task integrationTest(type: Test) {
 
 Review comment:
   
   Why do we have to define a new task for integration tests ? I think for 
Maven we used a standard task (verify). Is this a requirement for Gradle ?


This is an automated message from the Apache Git Service.
To respond to the 

[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-11 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=90247=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90247
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 12/Apr/18 01:08
Start Date: 12/Apr/18 01:08
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on a change in pull request 
#5003: [BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180940671
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,149 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+
+  // Path to PerfKitBenchmarker application (pkb.py).
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  // Data Processing Backend's log level.
+  String logLevel = System.getProperty('logLevel', 'INFO')
+
+  // Path to gradle binary.
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+
+  // If benchmark is official or not.
+  // Official benchmark results are meant to be displayed on PerfKitExplorer 
dashboards.
+  String isOfficial = System.getProperty('official', 'false')
+
+  // Specifies names of benchmarks to be run by perfkit.
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  // If beam is not "prebuilt then perfkit runs the build task before running 
the tests.
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+
+  // Beam's sdk to be used by perfkit.
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  // Timeout (in seconds) after which PerfKit will stop executing the 
benchmark (and will fail).
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  // Path to kubernetes configuration file.
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+
+  // Path to kubernetes executable.
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // Paths to files with kubernetes infrastructure to setup before the test 
runs.
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  // Pipeline options to be used by the tested pipeline.
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // Path to file with 'dynamic' and 'static' pipeline options.
+  // that will be appended by perfkit to the test running command.
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  // Fully qualified name of the test to be run, eg:
+  // 'org.apache.beam.sdks.java.io.jdbc.JdbcIOIT'.
+  String integrationTest = System.getProperty('integrationTest')
+
+  // Relative path to module where the test is, eg. 'sdks/java/io/jdbc.
+  String itModule = System.getProperty('itModule')
+
+  // Runner which will be used for running the tests.
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  // Any additional properties to be appended to benchmark execution command.
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+}
+
+// When applied in a module's build.gradle file, this closure provides set of 
tasks
+// needed to run IOIT integration tests (manually, without perfkit).
 
 Review comment:
   
   s/perfkit/PerfKitBenchmarker (here and elsewhere).


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 90247)
Time Spent: 7.5h  (was: 7h 20m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 7.5h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-11 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=90251=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90251
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 12/Apr/18 01:08
Start Date: 12/Apr/18 01:08
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on a change in pull request 
#5003: [BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180940679
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  String integrationTest = System.getProperty('integrationTest')
+  String itModule = System.getProperty('itModule')
+
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+}
+
+// Configures a project with a set of tasks needed for running performance 
tests
+ext.enableJavaPerformanceTesting = {
+  println "enableJavaPerformanceTesting with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
+
+  // Add runners needed to run integration tests on
+  task packageIntegrationTests(type: Jar) {
+if (gradle.startParameter.taskNames.contains('integrationTest')) {
 
 Review comment:
   
   
   > **lgajowy** wrote:
   > This line effectively means that we should include the runner dependencies 
only when the `integrationTest` task is run. So when user runs `./gradlew 
integrationTest...` those dependencies are added while building the jar. 
   > 
   > Now I see that this is not enough due the following reason: there is no 
way to "prebuild" tests - we cannot build with a separate build command and 
then just run the tests. Such prebuilding is needed by perfkit so it's a 
necessity I forgot to take into account here. "Prebuilding" is invoked when we 
specify the "beam_prebuilt" flag to false, see more in [Perfkit's 
code](https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/blob/a3e6c0382809cb68cd294f34cbd5b3b558e53f56/perfkitbenchmarker/beam_benchmark_helper.py#L147).
   > 
   > I think we should remove this condition and include the runner dependency 
only if the command is run with appropriate "integrationTestRunner" property . 
I changed this in the next commit. 
   > So now we can prebuild in Perfkit using this command: 
   > `./gradlew clean build -xtest` -DintegrationTestRunner=dataflow 
   > and run the tests using `integrationTest` task, for example like this: 
   > 
   > and execute the tests using this one:
   > `./gradlew clean integrationTest -p sdks/java/io/file-based-io-tests/ 
-DintegrationTestPipelineOptions='[]' --tests 
org.apache.beam.sdk.io.text.TextIOIT  -DintegrationTestRunner=dataflow`
   > 
   > WDYT?
   
   
   Makes sense. Thanks.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 90251)
Time Spent: 8h 10m  (was: 8h)

> Update performance testing framework to use Gradle.
> ---
>
>   

[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-11 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=90250=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-90250
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 12/Apr/18 01:08
Start Date: 12/Apr/18 01:08
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on a change in pull request 
#5003: [BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180940678
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
 
 Review comment:
   
   
   > **lgajowy** wrote:
   > I think we can fix this on the perfkit side but I rather tend to think it 
should be done in separate PR. I wanted to change the least possible amount of 
code in perfkit to integrate with gradle and then improve. Do you agree with me?
   
   
   Sounds good.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 90250)
Time Spent: 8h  (was: 7h 50m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 8h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89466=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89466
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 16:32
Start Date: 10/Apr/18 16:32
Worklog Time Spent: 10m 
  Work Description: aaltay commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180486735
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  String integrationTest = System.getProperty('integrationTest')
+  String itModule = System.getProperty('itModule')
+
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+}
+
+// Configures a project with a set of tasks needed for running performance 
tests
+ext.enableJavaPerformanceTesting = {
+  println "enableJavaPerformanceTesting with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
+
+  // Add runners needed to run integration tests on
+  task packageIntegrationTests(type: Jar) {
+if (gradle.startParameter.taskNames.contains('integrationTest')) {
+
+  def runner = configuration.runner
+  dependencies {
+if (runner.contains('dataflow')) {
 
 Review comment:
   This is fine. I was asking about, if there is a more scalable way of adding 
new runner dependencies here in the future. (As opposed to bunch if this runner 
... lines.)


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89466)
Time Spent: 7h  (was: 6h 50m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 7h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89467=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89467
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 16:33
Start Date: 10/Apr/18 16:33
Worklog Time Spent: 10m 
  Work Description: aaltay commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180487218
 
 

 ##
 File path: sdks/java/io/cassandra/build.gradle
 ##
 @@ -18,6 +18,7 @@
 
 apply from: project(":").file("build_rules.gradle")
 applyJavaNature(artifactId: "beam-sdks-java-io-cassandra")
+enableJavaPerformanceTesting()
 
 Review comment:
   The current approach seems better. Thank you for the explanation.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89467)
Time Spent: 7h 10m  (was: 7h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 7h 10m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89435=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89435
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 14:48
Start Date: 10/Apr/18 14:48
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-380127156
 
 
   @aaltay @chamikaramj Thank you guys for all the comments. I responded to 
them and created another commit with changes, mostly in documentation to ease 
your effort and make things more clear. 
   
   @chamikaramj There already is a documentation page describing how [the 
framework](https://beam.apache.org/documentation/io/testing/#i-o-transform-integration-tests)
 works and it won't change much IMO. Part of the gradle migration task is to 
update it to use Gradle commands. So clear description will be available to 
community soon. Meanwhile I created a [Performance testing framework 
documentation 
errata](https://docs.google.com/document/d/1CJZURnqCabc_GA-qgC3JYKQdhh00T2l5FzFS0DF12wU/edit?usp=sharing)
 that provides updated commands and (possibly in the future) more things to be 
changed in the docs This will also make getting the documentation up to date 
easier. Of course feel free to add comments and suggestions. Thanks!
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89435)
Time Spent: 6h 50m  (was: 6h 40m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 6h 50m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89431=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89431
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 14:46
Start Date: 10/Apr/18 14:46
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-380127156
 
 
   Thank you guys for all the comments. I responded to them and created another 
commit with changes, mostly in documentation to ease your effort and make 
things more clear. 
   
   @chamikaramj There already is a documentation page describing how [the 
framework](https://beam.apache.org/documentation/io/testing/#i-o-transform-integration-tests)
 works and it won't change much IMO. Part of the gradle migration task is to 
update it to Gradle. So clear description will be available soon.Meanwhile I 
created a [Performance testing framework documentation 
errata](https://docs.google.com/document/d/1CJZURnqCabc_GA-qgC3JYKQdhh00T2l5FzFS0DF12wU/edit?usp=sharing)
 that provides updated commands and (possibly in the future) more things to be 
changed in the docs This will also make getting the documentation up to date 
easier. Of course feel free to add comments and suggestions. Thanks!
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89431)
Time Spent: 6h 20m  (was: 6h 10m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 6h 20m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89433=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89433
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 14:46
Start Date: 10/Apr/18 14:46
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-380127156
 
 
   Thank you guys for all the comments. I responded to them and created another 
commit with changes, mostly in documentation to ease your effort and make 
things more clear. 
   
   @chamikaramj There already is a documentation page describing how [the 
framework](https://beam.apache.org/documentation/io/testing/#i-o-transform-integration-tests)
 works and it won't change much IMO. Part of the gradle migration task is to 
update it to use Gradle commands. So clear description will be available to 
community soon.Meanwhile I created a [Performance testing framework 
documentation 
errata](https://docs.google.com/document/d/1CJZURnqCabc_GA-qgC3JYKQdhh00T2l5FzFS0DF12wU/edit?usp=sharing)
 that provides updated commands and (possibly in the future) more things to be 
changed in the docs This will also make getting the documentation up to date 
easier. Of course feel free to add comments and suggestions. Thanks!
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89433)
Time Spent: 6.5h  (was: 6h 20m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 6.5h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89434=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89434
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 14:46
Start Date: 10/Apr/18 14:46
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-380127156
 
 
   Thank you guys for all the comments. I responded to them and created another 
commit with changes, mostly in documentation to ease your effort and make 
things more clear. 
   
   @chamikaramj There already is a documentation page describing how [the 
framework](https://beam.apache.org/documentation/io/testing/#i-o-transform-integration-tests)
 works and it won't change much IMO. Part of the gradle migration task is to 
update it to use Gradle commands. So clear description will be available to 
community soon. Meanwhile I created a [Performance testing framework 
documentation 
errata](https://docs.google.com/document/d/1CJZURnqCabc_GA-qgC3JYKQdhh00T2l5FzFS0DF12wU/edit?usp=sharing)
 that provides updated commands and (possibly in the future) more things to be 
changed in the docs This will also make getting the documentation up to date 
easier. Of course feel free to add comments and suggestions. Thanks!
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89434)
Time Spent: 6h 40m  (was: 6.5h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 6h 40m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89429=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89429
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 14:44
Start Date: 10/Apr/18 14:44
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-380127156
 
 
   Thank you guys for all the comments. I responded to them and created another 
commit with changes, mostly in documentation to ease your effort and make 
things more clear. 
   
   @chamikaramj There already is a documentation page describing how [the 
framework](https://beam.apache.org/documentation/io/testing/#i-o-transform-integration-tests)
 works. Part of the gradle migration task is to update it to Gradle. So clear 
description will be available soon.Meanwhile I created a [Performance testing 
framework documentation 
errata](https://docs.google.com/document/d/1CJZURnqCabc_GA-qgC3JYKQdhh00T2l5FzFS0DF12wU/edit?usp=sharing)
 that provides updated commands and (possibly in the future) more things to be 
changed in the docs This will also make getting the documentation up to date 
easier. Of course feel free to add comments and suggestions. Thanks!
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89429)
Time Spent: 6h 10m  (was: 6h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 6h 10m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89428=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89428
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 14:42
Start Date: 10/Apr/18 14:42
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180447086
 
 

 ##
 File path: 
sdks/java/io/jdbc/src/test/java/org/apache/beam/sdk/io/jdbc/JdbcIOIT.java
 ##
 @@ -47,18 +47,16 @@
  * This test requires a running instance of Postgres. Pass in connection 
information using
  * PipelineOptions:
  * 
- *  mvn -e -Pio-it verify -pl sdks/java/io/jdbc 
-DintegrationTestPipelineOptions='[
+ *  ./gradlew integrationTest -p sdks/java/io/jdbc 
-DintegrationTestPipelineOptions='[
  *  "--postgresServerName=1.2.3.4",
  *  "--postgresUsername=postgres",
  *  "--postgresDatabaseName=myfancydb",
  *  "--postgresPassword=mypass",
  *  "--postgresSsl=false",
  *  "--numberOfRecords=1000" ]'
+ *  --tests org.apache.beam.sdk.io.jdbc.JdbcIOIT
  * 
  *
- * If you want to run this with a runner besides directrunner, there are 
profiles for dataflow
- * and spark in the jdbc pom. You'll want to activate those in addition to the 
normal test runner
 
 Review comment:
   Indeed, it does not -  we were not able to run spark even though there was a 
profile for it. I added a more descriptive comment in following commit. 
   
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89428)
Time Spent: 6h  (was: 5h 50m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 6h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89425=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89425
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 14:42
Start Date: 10/Apr/18 14:42
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180446905
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  String integrationTest = System.getProperty('integrationTest')
+  String itModule = System.getProperty('itModule')
+
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+}
+
+// Configures a project with a set of tasks needed for running performance 
tests
+ext.enableJavaPerformanceTesting = {
+  println "enableJavaPerformanceTesting with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
+
+  // Add runners needed to run integration tests on
+  task packageIntegrationTests(type: Jar) {
+if (gradle.startParameter.taskNames.contains('integrationTest')) {
+
+  def runner = configuration.runner
+  dependencies {
+if (runner.contains('dataflow')) {
 
 Review comment:
   It mimcs the maven behaviour that was there + is implemented in one generic 
place (code is not duplicated all over the build configurations as it was in 
maven). Because we don't have profiles in gradle, a system property was used to 
decide which runner to include - this is done by user by specifying 
`-DintegrationTestRunner=`
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89425)
Time Spent: 5.5h  (was: 5h 20m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 5.5h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89426=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89426
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 14:42
Start Date: 10/Apr/18 14:42
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180446926
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  String integrationTest = System.getProperty('integrationTest')
+  String itModule = System.getProperty('itModule')
+
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+}
+
+// Configures a project with a set of tasks needed for running performance 
tests
+ext.enableJavaPerformanceTesting = {
+  println "enableJavaPerformanceTesting with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
+
+  // Add runners needed to run integration tests on
+  task packageIntegrationTests(type: Jar) {
+if (gradle.startParameter.taskNames.contains('integrationTest')) {
+
+  def runner = configuration.runner
+  dependencies {
+if (runner.contains('dataflow')) {
+  testCompile project(path: ":runners:google-cloud-dataflow-java", 
configuration: 'shadowTest')
+} else {
+  testCompile project(path: ":runners:direct-java", configuration: 
'shadowTest')
+}
+  }
+}
+  }
+
+  // Task for running integration tests
+  task integrationTest(type: Test) {
+include "**/*IT.class"
+systemProperties.beamTestPipelineOptions = 
configuration.integrationTestPipelineOptions
+  }
+}
+
+ext.createPerformanceTestHarness = {
+  println "createPerformanceTestHarness with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
 
 Review comment:
   ok


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89426)
Time Spent: 5h 40m  (was: 5.5h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 5h 40m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89424=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89424
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 14:42
Start Date: 10/Apr/18 14:42
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180446870
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  String integrationTest = System.getProperty('integrationTest')
+  String itModule = System.getProperty('itModule')
+
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+}
+
+// Configures a project with a set of tasks needed for running performance 
tests
+ext.enableJavaPerformanceTesting = {
+  println "enableJavaPerformanceTesting with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
+
+  // Add runners needed to run integration tests on
+  task packageIntegrationTests(type: Jar) {
+if (gradle.startParameter.taskNames.contains('integrationTest')) {
 
 Review comment:
   This line effectively means that we should include the runner dependencies 
only when the `integrationTest` task is run. So when user runs `./gradlew 
integrationTest...` those dependencies are added while building the jar. 
   
   Now I see that this is not enough due the following reason: there is no way 
to "prebuild" tests - we cannot build with a separate build command and then 
just run the tests. Such prebuilding is needed by perfkit so it's a necessity I 
forgot to take into account here. "Prebuilding" is invoked when we specify the 
"beam_prebuilt" flag to false, see more in [Perfkit's 
code](https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/blob/a3e6c0382809cb68cd294f34cbd5b3b558e53f56/perfkitbenchmarker/beam_benchmark_helper.py#L147).
   
   I think we should remove this condition and include the runner dependency 
only if the command is run with appropriate "integrationTestRunner" property . 
I changed this in the next commit. 
   So now we can prebuild in Perfkit using this command: 
   `./gradlew clean build -xtest` -DintegrationTestRunner=dataflow 
   and run the tests using `integrationTest` task, for example like this: 
   
   and execute the tests using this one:
   `./gradlew clean integrationTest -p sdks/java/io/file-based-io-tests/ 
-DintegrationTestPipelineOptions='[]' --tests 
org.apache.beam.sdk.io.text.TextIOIT  -DintegrationTestRunner=dataflow`
   
   WDYT?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89424)
Time Spent: 5h 20m  (was: 5h 10m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: 

[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89419=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89419
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 14:41
Start Date: 10/Apr/18 14:41
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180446475
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
 
 Review comment:
   I think we can fix this on the perfkit side but I rather tend to think it 
should be done in separate PR. I wanted to change the least possible amount of 
code in perfkit to integrate with gradle and then improve. Do you agree with 
me? 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89419)
Time Spent: 4.5h  (was: 4h 20m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 4.5h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89421=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89421
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 14:41
Start Date: 10/Apr/18 14:41
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180446503
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  String integrationTest = System.getProperty('integrationTest')
+  String itModule = System.getProperty('itModule')
+
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+}
+
+// Configures a project with a set of tasks needed for running performance 
tests
 
 Review comment:
   I will fix this doc to be more clear


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89421)
Time Spent: 4h 50m  (was: 4h 40m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 4h 50m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89420=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89420
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 14:41
Start Date: 10/Apr/18 14:41
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180446493
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
 
 Review comment:
   (answered above)


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89420)
Time Spent: 4h 40m  (was: 4.5h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 4h 40m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89422=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89422
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 14:41
Start Date: 10/Apr/18 14:41
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180446503
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  String integrationTest = System.getProperty('integrationTest')
+  String itModule = System.getProperty('itModule')
+
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+}
+
+// Configures a project with a set of tasks needed for running performance 
tests
 
 Review comment:
   I fixed this doc to be more clear


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89422)
Time Spent: 5h  (was: 4h 50m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 5h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89423=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89423
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 14:41
Start Date: 10/Apr/18 14:41
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180446578
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  String integrationTest = System.getProperty('integrationTest')
+  String itModule = System.getProperty('itModule')
+
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+}
+
+// Configures a project with a set of tasks needed for running performance 
tests
+ext.enableJavaPerformanceTesting = {
+  println "enableJavaPerformanceTesting with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
 
 Review comment:
   Provided a link that clarifies how to use the implicit 'it' parameter.  


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89423)
Time Spent: 5h 10m  (was: 5h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 5h 10m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89417=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89417
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 14:40
Start Date: 10/Apr/18 14:40
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180446421
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
 
 Review comment:
   ok


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89417)
Time Spent: 4h 10m  (was: 4h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 4h 10m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89415=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89415
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 14:40
Start Date: 10/Apr/18 14:40
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180446379
 
 

 ##
 File path: sdks/java/io/cassandra/build.gradle
 ##
 @@ -18,6 +18,7 @@
 
 apply from: project(":").file("build_rules.gradle")
 applyJavaNature(artifactId: "beam-sdks-java-io-cassandra")
+enableJavaPerformanceTesting()
 
 Review comment:
   This adds `integrationTest` task to cassandra io's build.gradle file. It 
works the same way as `applyJavaNature()` but adds integration testing related 
things. The way it is done now requires developers explicitly "append" the 
tasks to every module that needs ITs by adding `enableJavaPerformanceTesting()` 
in build.gradle file.
   
   An alternative would be to include this task (along with 
`packageIntegrationTests` ) to `applyJavaNature()` closure. This would add the 
tasks (`integrationTests`, `packageIntegrationTest` to every module that uses 
`applyJavaNature()`, so it's more implicit. 
   
   What do you think? Which option do you like better?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89415)
Time Spent: 3h 50m  (was: 3h 40m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 3h 50m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89414=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89414
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 14:40
Start Date: 10/Apr/18 14:40
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180446342
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  String integrationTest = System.getProperty('integrationTest')
+  String itModule = System.getProperty('itModule')
+
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+}
+
+// Configures a project with a set of tasks needed for running performance 
tests
+ext.enableJavaPerformanceTesting = {
+  println "enableJavaPerformanceTesting with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
+
+  // Add runners needed to run integration tests on
+  task packageIntegrationTests(type: Jar) {
+if (gradle.startParameter.taskNames.contains('integrationTest')) {
+
+  def runner = configuration.runner
+  dependencies {
+if (runner.contains('dataflow')) {
 
 Review comment:
   Currently we run the performance test only on dataflow runner. No other 
runner is supported, eg. due to issues like this: 
   
   https://issues.apache.org/jira/browse/BEAM-3359
   https://issues.apache.org/jira/browse/BEAM-3370
   https://issues.apache.org/jira/browse/BEAM-3371
   
   We didn't try to run ITs on runners like apex or gearpump so we don't know 
whether ITs run there.
   
   This is why I decided not to add them. I think we should add new runner 
dependencies here only when they are ready to run ITs. Wdyt?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89414)
Time Spent: 3h 40m  (was: 3.5h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 3h 40m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89418=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89418
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 14:40
Start Date: 10/Apr/18 14:40
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180446437
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
 
 Review comment:
   No, the timeout here is default and can be changed in case someone wants to 
set a different one. In most cases 1200 sec will be enough. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89418)
Time Spent: 4h 20m  (was: 4h 10m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 4h 20m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89413=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89413
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 14:40
Start Date: 10/Apr/18 14:40
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180446301
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
 
 Review comment:
   No we shouldn't - this would mark benchmark results being marked as official 
which even in Perfkit is defaulted to false. The task is for running them from 
local machines so those are definitely not official test results.  It should be 
false then - my bad.
   
   I added a comment describing this in more detail in next commit


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89413)
Time Spent: 3.5h  (was: 3h 20m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 3.5h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-10 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=89416=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-89416
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 10/Apr/18 14:40
Start Date: 10/Apr/18 14:40
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r180446402
 
 

 ##
 File path: build.gradle
 ##
 @@ -22,6 +22,7 @@
 // tasks.
 
 apply from: project(":").file("build_rules.gradle")
+createPerformanceTestHarness()
 
 Review comment:
   ok


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 89416)
Time Spent: 4h  (was: 3h 50m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 4h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-09 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=1=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-1
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 09/Apr/18 10:46
Start Date: 09/Apr/18 10:46
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-379711162
 
 
   @aaltay @chamikaramj thank you for all your comments and suggestions! fyi, 
please expect my answers on tuesday (I'm a little bit unavailable today).


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 1)
Time Spent: 3h 20m  (was: 3h 10m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 3h 20m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-06 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=88675=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-88675
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 07/Apr/18 02:15
Start Date: 07/Apr/18 02:15
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on a change in pull request 
#5003: [BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r178998423
 
 

 ##
 File path: build.gradle
 ##
 @@ -175,3 +175,74 @@ task goPreCommit() {
   dependsOn ":rat"
   dependsOn ":sdks:go:test"
 }
+
+// This task runs PerfKitBenchmarker, which does benchmarking of the IO ITs.
+// The arguments passed to it allows it to invoke gradle again with the 
desired benchmark.
+//
+// To invoke this, run:
+//
+// ./gradlew performanceTest \
+//  -DpkbLocation=""
+//  -DintegrationTestPipelineOptions='["--numberOfRecords=1000", ""]' \
+//  -DintegrationTest= \
+//  -DitModule= \
+//  -DintegrationTestRunner=direct/dataflow/
 
 Review comment:
   Can you give the exact value that should be used for DataflowRunner here 
(without ) ?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 88675)
Time Spent: 2h 10m  (was: 2h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 2h 10m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-06 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=88673=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-88673
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 07/Apr/18 02:15
Start Date: 07/Apr/18 02:15
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on a change in pull request 
#5003: [BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r179905570
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  String integrationTest = System.getProperty('integrationTest')
+  String itModule = System.getProperty('itModule')
+
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+}
+
+// Configures a project with a set of tasks needed for running performance 
tests
+ext.enableJavaPerformanceTesting = {
+  println "enableJavaPerformanceTesting with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
+
+  // Add runners needed to run integration tests on
+  task packageIntegrationTests(type: Jar) {
+if (gradle.startParameter.taskNames.contains('integrationTest')) {
+
+  def runner = configuration.runner
+  dependencies {
+if (runner.contains('dataflow')) {
 
 Review comment:
   Why do we have to set runner-specific dependencies here? Can't this be set 
by the user command that invokes the Gradle task to run the test ?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 88673)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 2h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-06 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=88683=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-88683
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 07/Apr/18 02:15
Start Date: 07/Apr/18 02:15
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on a change in pull request 
#5003: [BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r179905413
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
 
 Review comment:
   Do all ITs have to have to same timeout 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 88683)
Time Spent: 3h 10m  (was: 3h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 3h 10m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-06 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=88678=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-88678
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 07/Apr/18 02:15
Start Date: 07/Apr/18 02:15
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on a change in pull request 
#5003: [BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r179905431
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
 
 Review comment:
   Is this something we can fix at PerfKit side (and not specify empty strings 
here) ?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 88678)
Time Spent: 2.5h  (was: 2h 20m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-06 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=88672=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-88672
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 07/Apr/18 02:15
Start Date: 07/Apr/18 02:15
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on a change in pull request 
#5003: [BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r179905373
 
 

 ##
 File path: build.gradle
 ##
 @@ -22,6 +22,7 @@
 // tasks.
 
 apply from: project(":").file("build_rules.gradle")
+createPerformanceTestHarness()
 
 Review comment:
   Let's add a comment here explaining why we need this.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 88672)
Time Spent: 2h  (was: 1h 50m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 2h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-06 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=88680=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-88680
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 07/Apr/18 02:15
Start Date: 07/Apr/18 02:15
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on a change in pull request 
#5003: [BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r179905587
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  String integrationTest = System.getProperty('integrationTest')
+  String itModule = System.getProperty('itModule')
+
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+}
+
+// Configures a project with a set of tasks needed for running performance 
tests
+ext.enableJavaPerformanceTesting = {
+  println "enableJavaPerformanceTesting with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
+
+  // Add runners needed to run integration tests on
+  task packageIntegrationTests(type: Jar) {
+if (gradle.startParameter.taskNames.contains('integrationTest')) {
+
+  def runner = configuration.runner
+  dependencies {
+if (runner.contains('dataflow')) {
+  testCompile project(path: ":runners:google-cloud-dataflow-java", 
configuration: 'shadowTest')
+} else {
+  testCompile project(path: ":runners:direct-java", configuration: 
'shadowTest')
+}
+  }
+}
+  }
+
+  // Task for running integration tests
+  task integrationTest(type: Test) {
+include "**/*IT.class"
+systemProperties.beamTestPipelineOptions = 
configuration.integrationTestPipelineOptions
+  }
+}
+
+ext.createPerformanceTestHarness = {
+  println "createPerformanceTestHarness with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
 
 Review comment:
   Ditto. Please explain what 'it' parameter is.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 88680)
Time Spent: 2h 50m  (was: 2h 40m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 2h 50m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This 

[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-06 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=88676=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-88676
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 07/Apr/18 02:15
Start Date: 07/Apr/18 02:15
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on a change in pull request 
#5003: [BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r179905477
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  String integrationTest = System.getProperty('integrationTest')
+  String itModule = System.getProperty('itModule')
+
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+}
+
+// Configures a project with a set of tasks needed for running performance 
tests
+ext.enableJavaPerformanceTesting = {
+  println "enableJavaPerformanceTesting with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
 
 Review comment:
   implicit 'it' parameter.
   
   BTW who sets this parameter ?
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 88676)
Time Spent: 2h 20m  (was: 2h 10m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-06 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=88682=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-88682
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 07/Apr/18 02:15
Start Date: 07/Apr/18 02:15
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on a change in pull request 
#5003: [BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r179905678
 
 

 ##
 File path: 
sdks/java/io/jdbc/src/test/java/org/apache/beam/sdk/io/jdbc/JdbcIOIT.java
 ##
 @@ -47,18 +47,16 @@
  * This test requires a running instance of Postgres. Pass in connection 
information using
  * PipelineOptions:
  * 
- *  mvn -e -Pio-it verify -pl sdks/java/io/jdbc 
-DintegrationTestPipelineOptions='[
+ *  ./gradlew integrationTest -p sdks/java/io/jdbc 
-DintegrationTestPipelineOptions='[
  *  "--postgresServerName=1.2.3.4",
  *  "--postgresUsername=postgres",
  *  "--postgresDatabaseName=myfancydb",
  *  "--postgresPassword=mypass",
  *  "--postgresSsl=false",
  *  "--numberOfRecords=1000" ]'
+ *  --tests org.apache.beam.sdk.io.jdbc.JdbcIOIT
  * 
  *
- * If you want to run this with a runner besides directrunner, there are 
profiles for dataflow
- * and spark in the jdbc pom. You'll want to activate those in addition to the 
normal test runner
 
 Review comment:
   Does this restriction not apply anymore ?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 88682)
Time Spent: 3h  (was: 2h 50m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 3h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-06 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=88677=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-88677
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 07/Apr/18 02:15
Start Date: 07/Apr/18 02:15
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on a change in pull request 
#5003: [BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r179905401
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
 
 Review comment:
   Could you add single lines of comments explaining what these properties are 
? For example, I'm not sure what 'official' is used for.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 88677)
Time Spent: 2h 20m  (was: 2h 10m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-06 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=88681=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-88681
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 07/Apr/18 02:15
Start Date: 07/Apr/18 02:15
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on a change in pull request 
#5003: [BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r179905624
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  String integrationTest = System.getProperty('integrationTest')
+  String itModule = System.getProperty('itModule')
+
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+}
+
+// Configures a project with a set of tasks needed for running performance 
tests
+ext.enableJavaPerformanceTesting = {
+  println "enableJavaPerformanceTesting with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
+
+  // Add runners needed to run integration tests on
+  task packageIntegrationTests(type: Jar) {
+if (gradle.startParameter.taskNames.contains('integrationTest')) {
+
+  def runner = configuration.runner
+  dependencies {
+if (runner.contains('dataflow')) {
+  testCompile project(path: ":runners:google-cloud-dataflow-java", 
configuration: 'shadowTest')
+} else {
+  testCompile project(path: ":runners:direct-java", configuration: 
'shadowTest')
+}
+  }
+}
+  }
+
+  // Task for running integration tests
+  task integrationTest(type: Test) {
+include "**/*IT.class"
+systemProperties.beamTestPipelineOptions = 
configuration.integrationTestPipelineOptions
+  }
+}
+
+ext.createPerformanceTestHarness = {
+  println "createPerformanceTestHarness with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
+
+  // This task runs PerfKitBenchmarker, which does benchmarking of the IO ITs.
+  // The arguments passed to it allows it to invoke gradle again with the 
desired benchmark.
+  //
+  // To invoke this, run:
+  //
+  // ./gradlew performanceTest \
+  //  -DpkbLocation=""
+  //  -DintegrationTestPipelineOptions='["--numberOfRecords=1000", ""]' \
+  //  -DintegrationTest= \
+  //  -DitModule= \
+  //  -DintegrationTestRunner=direct/dataflow/
+  //
+  // There are more options with default values that can be tweaked if needed 
(see below).
+  task performanceTest(type: Exec) {
+
+// Perfkit needs to work in the Beam's root directory,
 
 Review comment:
   You mean, test has to be invoked from the root directory ?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: 

[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-06 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=88684=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-88684
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 07/Apr/18 02:15
Start Date: 07/Apr/18 02:15
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on a change in pull request 
#5003: [BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r179905518
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  String integrationTest = System.getProperty('integrationTest')
+  String itModule = System.getProperty('itModule')
+
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+}
+
+// Configures a project with a set of tasks needed for running performance 
tests
+ext.enableJavaPerformanceTesting = {
+  println "enableJavaPerformanceTesting with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
+
+  // Add runners needed to run integration tests on
+  task packageIntegrationTests(type: Jar) {
+if (gradle.startParameter.taskNames.contains('integrationTest')) {
 
 Review comment:
   So, tasks names starting with 'integrationTest' is a requirement ?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 88684)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 3h 10m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-06 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=88674=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-88674
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 07/Apr/18 02:15
Start Date: 07/Apr/18 02:15
Worklog Time Spent: 10m 
  Work Description: chamikaramj commented on a change in pull request 
#5003: [BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r179905443
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
 
 Review comment:
   Ditto.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 88674)
Time Spent: 2h 10m  (was: 2h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 2h 10m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-06 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=88669=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-88669
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 07/Apr/18 02:10
Start Date: 07/Apr/18 02:10
Worklog Time Spent: 10m 
  Work Description: aaltay commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r179905569
 
 

 ##
 File path: sdks/java/io/cassandra/build.gradle
 ##
 @@ -18,6 +18,7 @@
 
 apply from: project(":").file("build_rules.gradle")
 applyJavaNature(artifactId: "beam-sdks-java-io-cassandra")
+enableJavaPerformanceTesting()
 
 Review comment:
   What does this line do? Does it enable for all build?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 88669)
Time Spent: 1h 50m  (was: 1h 40m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-06 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=88671=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-88671
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 07/Apr/18 02:10
Start Date: 07/Apr/18 02:10
Worklog Time Spent: 10m 
  Work Description: aaltay commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r179905554
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
+  String benchmarks = System.getProperty('benchmarks', 
'beam_integration_benchmark')
+
+  String beamPrebuilt = System.getProperty('beamPrebuilt', 'true')
+  String beamSdk = System.getProperty('beamSdk', 'java')
+
+  String timeout = System.getProperty('itTimeout', '1200')
+
+  String kubeconfig = System.getProperty('kubeconfig', 
System.getProperty('user.home') + '/.kube/config')
+  String kubectl = System.getProperty('kubectl', 'kubectl')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no scripts are expected.
+  String kubernetesScripts = System.getProperty('kubernetesScripts', '')
+
+  String integrationTestPipelineOptions = 
System.getProperty('integrationTestPipelineOptions')
+
+  // PerfKit will have trouble reading 'null' path. It expects empty string if 
no config file is expected.
+  String optionsConfigFile = System.getProperty('beamITOptions', '')
+
+  String integrationTest = System.getProperty('integrationTest')
+  String itModule = System.getProperty('itModule')
+
+  String runner = System.getProperty('integrationTestRunner', 'direct')
+
+  String extraProperties = System.getProperty('beamExtraProperties', '')
+}
+
+// Configures a project with a set of tasks needed for running performance 
tests
+ext.enableJavaPerformanceTesting = {
+  println "enableJavaPerformanceTesting with ${it ? "$it" : "default 
configuration"} for project ${project.name}"
+
+  // Use the implicit it parameter of the closure to handle zero argument or 
one argument map calls.
+  JavaPerformanceTestConfiguration configuration = it ? it as 
JavaPerformanceTestConfiguration : new JavaPerformanceTestConfiguration()
+
+  // Add runners needed to run integration tests on
+  task packageIntegrationTests(type: Jar) {
+if (gradle.startParameter.taskNames.contains('integrationTest')) {
+
+  def runner = configuration.runner
+  dependencies {
+if (runner.contains('dataflow')) {
 
 Review comment:
   Do we need to add hard coded branch for each possible runner here?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 88671)
Time Spent: 1h 50m  (was: 1h 40m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-06 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=88670=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-88670
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 07/Apr/18 02:10
Start Date: 07/Apr/18 02:10
Worklog Time Spent: 10m 
  Work Description: aaltay commented on a change in pull request #5003: 
[BEAM-3942] Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#discussion_r179905523
 
 

 ##
 File path: build_rules.gradle
 ##
 @@ -593,6 +593,118 @@ ext.applyJavaNature = {
   }
 }
 
+// Reads and contains all necessary performance test parameters
+class JavaPerformanceTestConfiguration {
+  String pkbLocation = System.getProperty('pkbLocation')
+
+  String logLevel = System.getProperty('logLevel', 'INFO')
+  String gradleBinary = System.getProperty('gradleBinary', './gradlew')
+  String isOfficial = System.getProperty('official', 'true')
 
 Review comment:
   Do we want to default to `true` here?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 88670)
Time Spent: 1h 50m  (was: 1h 40m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-06 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=88410=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-88410
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 06/Apr/18 12:07
Start Date: 06/Apr/18 12:07
Worklog Time Spent: 10m 
  Work Description: lukecwik commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-379233885
 
 
   R: @udim 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 88410)
Time Spent: 1h 40m  (was: 1.5h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-04 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=87552=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-87552
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 04/Apr/18 14:09
Start Date: 04/Apr/18 14:09
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-378612975
 
 
   Thanks to @lukecwik suggestion, this PR got changed a little bit. The task 
remained the same, but their placement is different. Now those are located in 
the root's build_rules. Same as before, those are applied only to those 
subprojects which need it. 
   
   All tasks reuse the JavaPerformanceTestConfiguration class to fetch and use 
system properties. 
   
   One last important thing to notice is that `performanceTest` task is 
designed to be run from the root  project directory. I found it easier, because:
   1. Placing the task in each subproject would require adding -p option in 
order to run exactly one test.  Running from root will invoke all 
performanceTest tasks which is not what we want. 
   
   2. Running with -p option makes it harder to use relative paths. Because 
Perfkit is now invoked in the subproject (eg. sdks/java/io/jdbc), we cannot 
pass it paths starting from root project (eg. .test-infra). This also applies 
to ./gradlew. 
   
   @lukecwik could you also take a look?
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 87552)
Time Spent: 1.5h  (was: 1h 20m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-03 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=87331=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-87331
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 03/Apr/18 23:23
Start Date: 03/Apr/18 23:23
Worklog Time Spent: 10m 
  Work Description: lukecwik commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-378430503
 
 
   I had some ideas on how to improve this PR: 
https://github.com/lgajowy/beam/pull/3


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 87331)
Time Spent: 1h 20m  (was: 1h 10m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-03 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=87257=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-87257
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 03/Apr/18 20:22
Start Date: 03/Apr/18 20:22
Worklog Time Spent: 10m 
  Work Description: angoenka commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-378384572
 
 
   R: @chamikaramj 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 87257)
Time Spent: 1h 10m  (was: 1h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-03 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=87207=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-87207
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 03/Apr/18 19:02
Start Date: 03/Apr/18 19:02
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-378361011
 
 
   Also cc: @chamikaramj 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 87207)
Time Spent: 1h  (was: 50m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-03 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=87092=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-87092
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 03/Apr/18 13:30
Start Date: 03/Apr/18 13:30
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-378250518
 
 
   Sorry, the seed job i run does not make sens for now - jenkins (perfkit) 
still uses maven (yet), so there's no sense to run the ITs on this pr


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 87092)
Time Spent: 50m  (was: 40m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-03 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=87091=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-87091
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 03/Apr/18 13:30
Start Date: 03/Apr/18 13:30
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-378250518
 
 
   Sorry, the seed job i run does not make sens for now - jenkins (perfkit) 
still uses maven (yet).


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 87091)
Time Spent: 40m  (was: 0.5h)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-03 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=87089=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-87089
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 03/Apr/18 13:29
Start Date: 03/Apr/18 13:29
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-378249653
 
 
   Run seed job


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 87089)
Time Spent: 0.5h  (was: 20m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-03 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=87085=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-87085
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 03/Apr/18 13:27
Start Date: 03/Apr/18 13:27
Worklog Time Spent: 10m 
  Work Description: lgajowy opened a new pull request #5003: [BEAM-3942] 
Update performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003
 
 
   This PR introduces three gradle tasks that are needed for IOITs. 
   
   1. integrationTest - which is for running integration tests manually
   2. packageIntegrationTests - which provides necessary IOIT's dependencies 
(runners to be chosen using a command line arg)
   3. performanceTest - which runs perfkit to setup all necessary testing 
infrastructure. 
   
   At the time of writing this mesage, PerfKitBenchmarker is not using gradle 
yet. I'll migrate it as soon as this PR gets merged. More on that in the issues 
comments: https://issues.apache.org/jira/browse/BEAM-3942 
   
   @jbonofre could you take a look?
   
   CC: @lukecwik 
   
   
   
   Follow this checklist to help us incorporate your contribution quickly and 
easily:
   
- [ ] Make sure there is a [JIRA 
issue](https://issues.apache.org/jira/projects/BEAM/issues/) filed for the 
change (usually before you start working on it).  Trivial changes like typos do 
not require a JIRA issue.  Your pull request should address just this issue, 
without pulling in other changes.
- [ ] Format the pull request title like `[BEAM-XXX] Fixes bug in 
ApproximateQuantiles`, where you replace `BEAM-XXX` with the appropriate JIRA 
issue.
- [ ] Write a pull request description that is detailed enough to 
understand:
  - [ ] What the pull request does
  - [ ] Why it does it
  - [ ] How it does it
  - [ ] Why this approach
- [ ] Each commit in the pull request should have a meaningful subject line 
and body.
- [ ] Run `mvn clean verify` to make sure basic checks pass. A more 
thorough check will be performed on your pull request automatically.
- [ ] If this contribution is large, please file an Apache [Individual 
Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 87085)
Time Spent: 10m
Remaining Estimate: 0h

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Work logged] (BEAM-3942) Update performance testing framework to use Gradle.

2018-04-03 Thread ASF GitHub Bot (JIRA)

 [ 
https://issues.apache.org/jira/browse/BEAM-3942?focusedWorklogId=87086=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-87086
 ]

ASF GitHub Bot logged work on BEAM-3942:


Author: ASF GitHub Bot
Created on: 03/Apr/18 13:27
Start Date: 03/Apr/18 13:27
Worklog Time Spent: 10m 
  Work Description: lgajowy commented on issue #5003: [BEAM-3942] Update 
performance testing framework to use Gradle
URL: https://github.com/apache/beam/pull/5003#issuecomment-378249653
 
 
   Run seed job


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
---

Worklog Id: (was: 87086)
Time Spent: 20m  (was: 10m)

> Update performance testing framework to use Gradle.
> ---
>
> Key: BEAM-3942
> URL: https://issues.apache.org/jira/browse/BEAM-3942
> Project: Beam
>  Issue Type: Sub-task
>  Components: testing
>Reporter: Chamikara Jayalath
>Assignee: Łukasz Gajowy
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> This requires performing updates to PerfKitBenchmarker and Beam so that we 
> can execute performance tests using Gradle.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)