Also, could you move SimplePerfTest there and run it under JMH? Sent from my iPad
> On May 25, 2014, at 8:35 AM, Ralph Goers <[email protected]> wrote: > > OK - in the parent pom you will see there is a profile for apache-release. > That profile is automatically set by the parent ASF pom during the release > plugin. But if you manually set the profile with -p or -P then it will > include the distribution module in the build. In the bin assembly you will > need to exclude the perf module. You may need to rename it as I have had > problems excluding modules that match the includes pattern. Actually, if it > doesn't match the includes pattern it won't be included in the binary > distribution anyway. > > Sent from my iPad > >> On May 25, 2014, at 7:43 AM, Remko Popma <[email protected]> wrote: >> >> Wow, great! Take care and again, don't overdo it! >> Any time is fine. >> >> I tried running mvn -P release install. >> The build ran successfully, but ended in: >> [WARNING] The requested profile "release" could not be activated because it >> does not exist. >> >> I checked my local <user>/.m2/repository, and it looks like a log4j-perf >> module is created there. >> It contains log4j-perf-2.0-rc2-SNAPSHOT.jar, which is not the Shade-ed >> microbenchmarks.jar, but still contains JMH-generated code so we probably >> don't want to include this file in the distribution. (Not sure if any files >> here would be included in the distribution.) >> >> >> >>> On Sun, May 25, 2014 at 10:49 PM, Ralph Goers <[email protected]> >>> wrote: >>> I am surprised too. I only can see in one eye and I have to keep my head >>> facing the ground most of the time but I can still use my iPad and phone. >>> >>> Mvn site does not build the distribution. I am actually at the dr to get my >>> bandage off but I will check when I get home what you need to run but I >>> think it might be mvn -P release install >>> >>> Sent from my iPhone >>> >>>> On May 25, 2014, at 6:43 AM, Remko Popma <[email protected]> wrote: >>>> >>>> Ralph, thank you for your feedback. >>>> (I am actually surprised to hear from you, I thought you'd be out of >>>> commission for a while. Glad you're feeling well so quickly, but be >>>> careful not to overdo it.) >>>> >>>> I've added the log4j-perf module. Initially this has just one >>>> microbenchmark test. >>>> >>>> How do I verify that the microbenchmarks.jar does not get included in the >>>> distribution? >>>> Just run "mvn site"? >>>> >>>> >>>> >>>>> On Sun, May 25, 2014 at 3:26 PM, Ralph Goers <[email protected]> wrote: >>>>> This is a very good idea. You really don't have a lot to worry about. >>>>> ASF projects can use GPL tools to build or do things like you are >>>>> suggesting. However, we can't ship things that are under the GPL and >>>>> should not commit them to svn. From what you are describing I don't think >>>>> we would be doing that. >>>>> >>>>> The log4j-dist module controls what is included in the release. As I >>>>> recall it is already excluding some things so this be easy to do. >>>>> However, the release zips the whole source tree, so as long as there is >>>>> nothing GPL there we are good. >>>>> >>>>> Fwiw, my surgery is done. I am at home and feeling ok, under the >>>>> circumstances. I can only see from one eye right now so please excuse >>>>> mistakes. >>>>> >>>>> Sent from my iPad >>>>> >>>>>> On May 24, 2014, at 10:42 AM, Remko Popma <[email protected]> wrote: >>>>>> >>>>>> I've been using JMH (http://openjdk.java.net/projects/code-tools/jmh/ ) >>>>>> for performance tests recently and I'm very impressed. JMH is developed >>>>>> by the Oracle java performance team and used internally by Oracle to >>>>>> performance tune the JVM and java core libraries. >>>>>> >>>>>> I would like to use JMH to start building a suite of performance tests >>>>>> for log4j2. I would like everyone's thoughts. First, do you like this >>>>>> idea at all? >>>>>> >>>>>> Also, there is one legal and one technical aspect that I would like >>>>>> everyone's feedback on. >>>>>> >>>>>> A potential legal problem is that JMH is made available under GNU GPL v2 >>>>>> with the Classpath Exception, and our Apache License v2 is not >>>>>> compatible with GPL v2 (see >>>>>> http://www.apache.org/foundation/license-faq.html#GPL ). >>>>>> >>>>>> To solve this, I want to avoid distributing JMH or our executable >>>>>> microbenchmarks (which would have the JMH classes) with our log4j >>>>>> artifacts. I just want our team (and whoever checks out the log4j >>>>>> source) to be able to use JMH to genyerate and run benchmarks when they >>>>>> want to. >>>>>> >>>>>> I'm not a lawyer though. Does anyone have experience with this kind of >>>>>> question? >>>>>> >>>>>> The technical aspect: >>>>>> I propose adding a log4j-perf module. This is where our performance test >>>>>> code would live. JMH microbenchmarks are very simple java classes with >>>>>> org.openjdk.jmh annotations. During the build, JMH generates code and >>>>>> that generated code, together with all dependencies are zipped up in a >>>>>> large uber-jar with the maven Shade plugin. You can then use java -jar >>>>>> microbenchmarks.jar to run performance tests. >>>>>> >>>>>> To ensure that the log4j-perf artifacts are not included in the log4j2 >>>>>> distribution, we could simply leave out the >>>>>> "<module>log4j-perf</module>" line from log4j2/pom.xml. The drawback is >>>>>> that you'd need to manually add that line and build again if you want to >>>>>> execute microbenchmarks to test something that only exists in your >>>>>> workspace. Is there a better way, to somehow include the log4j-perf >>>>>> module in the build, but exclude its artifacts from the log4j2 >>>>>> distribution? >>
