-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a test class to measure heap allocation level on a range of Maven commits #2
Comments
I'd like to work on this, more challenging for sure |
@albertotn Great! :) Don't hesitate if I can help. |
What I've done I have created a new test class MvnValidateAllocationByMaven3HashTest and added some configuration parameters in maven-bench.properties file. Problems In my commit you can take a look in my implementation.
If you want, I'm able to create a PR right now, I have only added new classes, so nothing should be broken, instead to talk on code on my fork. |
Hi Alberto, thanks for your help |
Thanks a lot for your great work Alberto! |
thansk @hboutemy and @jeanbisutti for your support! |
About the way to register an "hash" version... |
Back again here for hacktoberfest, I see this still open, maybe you can merge it and close ? |
Hi @albertotn, |
Why
Today,
MvnValidateAllocationByMaven3VersionTest
can be used to evaluate the heap allocation level for a range of Maven distributions.To more easily spot the changes (the commits) responsible for an allocation increase, we would like to have a test bench to measure the heap allocation level between two Maven commits.
Possible implementation
We could add
commit.first.hash
andcommit.last.hash
properties in themaven-bench.properties
file.The new test could execute the following steps:
Clone Maven with the hash of the first commit
You may execute Git commands with the help of a Java ProcessBuilder. A ProcessBuilder example can be found here.
Build Maven
mvn -DdistributionTargetDir="{location}/apache-maven-head" clean package
You may execute this Maven command line from Java with the help of a MvnVerifier object (see
MvnValidateAllocationByMaven3VersionTest
) or with the help of a Java ProcessBuilder. A ProcessBuilder example can be found here.Measure heap allocation level in the same way it is done in MvnValidateAllocationByMaven3VersionTest
Update the local repository of Maven with the next commit
Build Maven
Measure heap allocation
...
N) Update the local repository of Maven with the last commit
N+1) Build Maven
N+2) Measure heap allocation
Don't hesitate to leave a comment to discuss about this feature!
The text was updated successfully, but these errors were encountered: