This plugin reads output result files from Grinder performance tests, and will generate reports showing test results for every build and trend reports showing performance results across builds.
Usage
Install the Grinder plugin for Hudson (one of these two):
Install from Hudson plugin page or
Download here and add to .hudson/plugins directory.
Set up a free-style project in Hudson running Grinder tests:
Create free-style project in Hudson running the script.
Configure the project to use the Grinder plugin:
Check the "Grinder report" checkbox.
Specify the name of the Grinder output file.
Run build and enjoy reports similar to screenshots below
Screenshots
(click to view full version)
TODO/Wishlist
If you have requests for new functionality in the plugin you can add them to the following list. This is mostly meant as suggestions and ideas. Bugs or problems should be reported in the issue tracker.
22%
grinder-plugin-todo
handler
Update graph when deleting a build
1:p1147408788_p1709467028Update graph when deleting a buildHIGH1233046722920false0false
handler
Mark build as failed when thresholds not met
1:p1147408788_p523250275Mark build as failed when thresholds not metHIGH1239308054148false0false
handler
Fix exception: FATAL: null java.util.InputMismatchException at java.util.Scanner.throwFor(Scanner.java:840) at java.util.Scanner.next(Scanner.java:1461) at java.util.Scanner.nextDouble(Scanner.java:2387) at hudson.plugins.grinder.ResultReader.readTest(ResultReader.java:86) at hudson.plugins.grinder.ResultReader.parse(ResultReader.java:53) at hudson.plugins.grinder.ResultReader.<init>(ResultReader.java:37) at hudson.plugins.grinder.GrinderBuildAction.<init>(GrinderBuildAction.java:39) at hudson.plugins.grinder.GrinderPublisher.perform(GrinderPublisher.java:43) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:379) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:367) at hudson.model.Build$RunnerImpl.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:352) at hudson.model.Run.run(Run.java:969) at hudson.model.Build.run(Build.java:112) at hudson.model.ResourceController.execute(ResourceController.java:93) at hudson.model.Executor.run(Executor.java:116)
1:p1147408788_n732105810Fix exception: FATAL: null java.util.InputMismatchException at java.util.Scanner.throwFor(Scanner.java:840) at java.util.Scanner.next(Scanner.java:1461) at java.util.Scanner.nextDouble(Scanner.java:2387) at hudson.plugins.grinder.ResultReader.readTest(ResultReader.java:86) at hudson.plugins.grinder.ResultReader.parse(ResultReader.java:53) at hudson.plugins.grinder.ResultReader.(ResultReader.java:37) at hudson.plugins.grinder.GrinderBuildAction.(GrinderBuildAction.java:39) at hudson.plugins.grinder.GrinderPublisher.perform(GrinderPublisher.java:43) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:379) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:367) at hudson.model.Build$RunnerImpl.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:352) at hudson.model.Run.run(Run.java:969) at hudson.model.Build.run(Build.java:112) at hudson.model.ResourceController.execute(ResourceController.java:93) at hudson.model.Executor.run(Executor.java:116)HIGH1248813897848true1251849743137false
handler
allow TPS figures in the results
1:p1147408788_p148010781allow TPS figures in the resultsMEDIUM1251808059607false0false
handler
allow TPS figures in the results
1:p1147408788_p148010781_1allow TPS figures in the resultsMEDIUM1251808062285false0false
handler
allow TPS figures in the results
1:p1147408788_p148010781_2allow TPS figures in the resultsMEDIUM1251808071790false0false
Fix exception: FATAL: null java.util.InputMismatchException at java.util.Scanner.throwFor(Scanner.java:840) at java.util.Scanner.next(Scanner.java:1461) at java.util.Scanner.nextDouble(Scanner.java:2387) at hudson.plugins.grinder.ResultReader.readTest(ResultReader.java:86) at hudson.plugins.grinder.ResultReader.parse(ResultReader.java:53) at hudson.plugins.grinder.ResultReader.<init>(ResultReader.java:37) at hudson.plugins.grinder.GrinderBuildAction.<init>(GrinderBuildAction.java:39) at hudson.plugins.grinder.GrinderPublisher.perform(GrinderPublisher.java:43) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:379) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:367) at hudson.model.Build$RunnerImpl.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:352) at hudson.model.Run.run(Run.java:969) at hudson.model.Build.run(Build.java:112) at hudson.model.ResourceController.execute(ResourceController.java:93) at hudson.model.Executor.run(Executor.java:116)
1:p1147408788_n732105810_1Fix exception: FATAL: null java.util.InputMismatchException at java.util.Scanner.throwFor(Scanner.java:840) at java.util.Scanner.next(Scanner.java:1461) at java.util.Scanner.nextDouble(Scanner.java:2387) at hudson.plugins.grinder.ResultReader.readTest(ResultReader.java:86) at hudson.plugins.grinder.ResultReader.parse(ResultReader.java:53) at hudson.plugins.grinder.ResultReader.(ResultReader.java:37) at hudson.plugins.grinder.GrinderBuildAction.(GrinderBuildAction.java:39) at hudson.plugins.grinder.GrinderPublisher.perform(GrinderPublisher.java:43) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:379) at hudson.model.AbstractBuild$AbstractRunner.performAllBuildStep(AbstractBuild.java:367) at hudson.model.Build$RunnerImpl.post2(Build.java:183) at hudson.model.AbstractBuild$AbstractRunner.post(AbstractBuild.java:352) at hudson.model.Run.run(Run.java:969) at hudson.model.Build.run(Build.java:112) at hudson.model.ResourceController.execute(ResourceController.java:93) at hudson.model.Executor.run(Executor.java:116)MEDIUM1248813895010false0false
handler
Hudson Grinder Runner - distribute on Hudson nodes
1:p1147408788_n571323027Hudson Grinder Runner - distribute on Hudson nodesLOW1232812398690false0false
Changelog
Version 1.2
Fix exception related to different fields in the Grinder data file.