Is there a way to use the JMH within the individual steps of a plugin? The 
examples I have seen so far start with a given Jenkins instance and then call 
methods on Jenkins object model.

So what is supported is something like 

        jenkins.doSomething();

to measure the performance of one of Jenkins API methods.

or 

        job.scheduleBuild2()

to measure the performance of a whole build pipeline. 

What I’m interested in my warnings plugin is the performance of individual 
steps in the pipeline. 
E.g., if I have the following steps:

    checkout scm
    withMaven(maven: 'mvn-default', mavenLocalRepo: '/var/data/m2repository', 
mavenOpts: '-Xmx768m -Xms512m') {
        sh 'mvn -ntp -V -e clean verify -f plugin/pom.xml 
-Dmaven.test.failure.ignore -DskipITs'
    }
    recordIssues tools: [java(), javaDoc()], aggregatingResults: 'true', id: 
'java', name: 'Java'

I am interested only in the results of the last step. 

It would be even better if I can obtain the performance results of the 
individual activities in my plugin. I.e. the recordWarnings step actually is 
composed of several steps:
- parse warnings
- compute fingerprints
- collect blames from Git
etc. 

Is this supported somehow yet?


> Am 22.06.2019 um 07:32 schrieb Abhyudaya Sharma <[email protected]>:
> 
> Hi everyone,
> 
> The Micro-benchmarking framework is now ready and is available through Plugin 
> POM 3.46 or through Jenkins Test Harness 2.51. There is now a blog post 
> <https://jenkins.io/blog/2019/06/21/performance-testing-jenkins/> summarizing 
> it on jenkins.io <http://jenkins.io/>. You can find examples for the 
> benchmarks in the Role Strategy Plugin here 
> <https://github.com/jenkinsci/role-strategy-plugin/tree/master/src/test/java/jmh/benchmarks>.
>  Looking forward to your feedback and comments.
> 
> Thanks
> Abhyudaya Sharma
> 
> On Tuesday, 28 May 2019 11:50:14 UTC+5:30, Abhyudaya Sharma wrote:
> Hi everyone, 
> 
> As a part of this year's Google Summer of Code, I have been working on a 
> framework for allowing Java Microbenchmark Harness (JMH) benchmarks to be 
> run with Jenkins. The basic framework was implemented in the Role Strategy 
> Plugin through this pull request: 
> https://github.com/jenkinsci/role-strategy-plugin/pull/63 
> <https://github.com/jenkinsci/role-strategy-plugin/pull/63> . For each 
> benchmark, a temporary Jenkins instance is created, similar to how 
> JenkinsRule from Jenkins Test Harness does it. The benchmarks are run 
> through a unit test which allows them to be integrated with the normal pull 
> request builds (if required). Apart from configuring the Jenkins instance 
> for test using Java code, I've also added support for easily configuring the 
> instance by YAML files using Jenkins Configuration as Code. The benchmark 
> reports are generated as JSON files which are compatible with the jmh-report 
> plugin. I have implemented a couple of benchmarks for the Role Strategy 
> Plugin which can be seen in the Role Strategy Plugin GitHub repository. I 
> have attached screenshots of these results as visualized by the jmh-report 
> plugin. To make the framework easier to use, I'm also working on running the 
> benchmarks through a Maven profile. 
> 
> To make it available to the rest of the community, I would like to propose 
> to make it either a part of Jenkins Test Harness or a part of new library so 
> it can be used by other plugins and perhaps by Jenkins core itself. I would 
> to love to hear your feedback, comments and suggestions. It would be even 
> better if you could join the project's weekly meetings (Tuesdays and Fridays 
> at 7:00 AM UTC) and help us improve this framework. 
> 
> Thanks 
> Abhyudaya 
> GitHub: AbhyudayaSharma 
> 
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Jenkins Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> <mailto:[email protected]>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/jenkinsci-dev/7d49f6f8-79ed-49ab-a9ab-f94b376caf4a%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/jenkinsci-dev/7d49f6f8-79ed-49ab-a9ab-f94b376caf4a%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/F0FEB18C-9B6F-495A-A4F8-31BAE16271C0%40gmail.com.

Reply via email to