Java Profiler reports on Hudson
I already have a continuous integration server based on Hudson. I already have an application tested (unit and fun开发者_如何学运维ctional tests) and compiled by Hudson. Now, I like to have details of the performance gaps (and to apply limits) to a build to another, during the execution of tests only.
What can I use please? (An open source solution if possible)
Regards,
Have a look at the Open Source Profilers in Java page on java-source.net. After you decided on a few candidates for you, look for a plugin in Hudson. If there is no specific plugin for your tool, you can use the HTML Publisher Plugin to publish html reports. In addition you might need plugins like Measurement Plots Plugin,PerfPublisher Plugin, dbCharts Plugin, Plot Plugin, or HTML Publisher Plugin. Take your time when going through the plugin list, you will find solutions for problems that you didn't know you had or in other words, it might help you to design an (better) alternative for the problem you are trying to solve.
I would suggest you to use sonar. Sonar gives you different metrics on your code base. Like
* Respect of coding rules violations
* Density of documented API
* Density of duplicated Code
* Level of code coverage by Unit Tests
* Density of potential bugs
* Complexity distribution
I would also suggest you to look at Find Bugs.
Sonar and Find Bugs will be a good place to start. If you are looking specifically at performance. Here is a plugin that I found .( I have not used it) We use performance testers for this kind of work, so never thought of incorporating it into the build. Though we do performance testing on developers desktops.
I would recommend using JMH(http://openjdk.java.net/projects/code-tools/jmh/) + a profiler (spf4j(http://www.spf4j.org), flight recorder)
a example on how you can do that you can find at : http://zolyfarkas.github.io/spf4j/xref-test/org/spf4j/JmhTest.html
If you use jenkins with the jmh plugin: https://github.com/blackboard/jmh-jenkins you can trend your performance, and you will always be able to look at the profiler data to investigate.
you can publish the profile files in the project site if you want to have them accessible like at: http://zolyfarkas.github.io/spf4j/spf4j-benchmarks/index.html
Look at this Performance Plugin. This will generate perf reports based on your junit and jmeter tests. Here is the article on how to set this up.
精彩评论