The benchmark module in the git-client plugin: 
https://github.com/jenkinsci/git-client-plugin/tree/master/src/test/java/jmh/benchmark
A JMH benchmark on git fetch: 
https://github.com/jenkinsci/git-client-plugin/blob/master/src/test/java/jmh/benchmark/GitClientFetchBenchmark.java

On Monday, June 8, 2020 at 4:57:51 PM UTC+5:30, Ullrich Hafner wrote:
>
> I see, that makes sense. Seems that I was just following the wrong path…  
> Do you have a link to those Git performance tests? Are they in the git or 
> in the git-client plugin?
>
> Am 07.06.2020 um 18:56 schrieb Mark Waite <[email protected] 
> <javascript:>>:
>
> Rishabh has created two JMH benchmarks for specific git operations inside 
> the Jenkins git plugin.  He's running those micro benchmarks without a 
> JenkinsRule because the git plugin does not require a JenkinsRule to 
> operate at that level.
>
> I assume you need a JenkinsRule because you're running a pipeline.  
> However, it seems like you could make the pre-steps be part of the initial 
> creation of state, then run the micro benchmark solely on the subset of the 
> pipeline that interests you.
>
> On Sun, Jun 7, 2020 at 7:52 AM Ullrich Hafner <[email protected] 
> <javascript:>> wrote:
>
>> 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] 
>> <javascript:>>:
>>
>> 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. 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 . 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] <javascript:>.
>> 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.
>>
>>
>>
>> -- 
>> 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] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/jenkinsci-dev/F0FEB18C-9B6F-495A-A4F8-31BAE16271C0%40gmail.com
>>  
>> <https://groups.google.com/d/msgid/jenkinsci-dev/F0FEB18C-9B6F-495A-A4F8-31BAE16271C0%40gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>
> -- 
> 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] <javascript:>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/jenkinsci-dev/CAO49JtGneTpq4OpuTjKaFu1%3D-7QCbO2ZqFQmxpaERWgp1AS1ew%40mail.gmail.com
>  
> <https://groups.google.com/d/msgid/jenkinsci-dev/CAO49JtGneTpq4OpuTjKaFu1%3D-7QCbO2ZqFQmxpaERWgp1AS1ew%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
>
>

-- 
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/80b754e1-faf0-49d7-9b32-a65a452603f8o%40googlegroups.com.

Reply via email to