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.