-
-
Notifications
You must be signed in to change notification settings - Fork 314
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 FrameworkBenchmarks performance test #3746
base: master
Are you sure you want to change the base?
Conversation
Grinder not working, so I will rebuild this later. https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/4964/ Verified on my test machine, works well. |
Infra Issue created: adoptium/infrastructure#2597 |
Its unable to delete workspace because of the json file from this benchmark... could it be the case that something still has that file open, when we try to delete the workspace, which blocks the deletion? |
yes, I suspect the previous benchmark job failed in a bad state and left the process running (holding the file). The new job landed on the same machine cannot delete the workspace due to the file. At this point, the machine needs to be cleaned up. Also, we need to enhance the test framework to terminate the leftover processes and clean up the workspace. If this cannot be properly handled at the test level, it should be handled at TKG/Jenkins level. |
@llxia @smlambert
|
The issue seen with not being able to delete workspace seems to be related to the results directory being created as root (instead of Jenkins). See adoptium/infrastructure#2597 (comment) |
@joeyleeeeeee97 do you see the |
@llxia Yes. Should I change the permission in |
Yes, we need to change to |
e96143f
to
dfc4e8e
Compare
@llxia I added a extra step to make results removable. FrameworkBenchmarks is running with root, I raise an issue for them. |
http://ci.dragonwell-jdk.io/job/Test_openjdk11_dragonwell_special.perf_x86-64_linux/9/console 18:05:44 TEST TARGETS SUMMARY @llxia @ShelleyLambert |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for you work on this @joeyleeeeeee97 - a couple of notes to work out, since this is a bit of a 'hybrid' test to add to the suite, it is a perf test that requires Docker. Up until now, we have been using the label ci.role.perf for performance benchmarks to guarantee that the hardware that the benchmarks are running on are same (so that when we look at historical results, they do not fluctuate wildly due to hardware differences). For our external tests, all of which run in containers, we append sw.tool.docker label to select machines that have Docker installed (as not all machines attached to our Jenkins server do have it).
We will need to think about the right approach to ensure this test will be sent to a machine with Docker installed and whether or not it needs to be pinned to specific hardware (are the benchmarks sensitive to that?).
Also, you can remove the changes to the testenv.properties file as those are not needed/desired.
@smlambert To dispatch these to docker, maybe we could:
Personally I think adding |
I am glad you are asking these questions @joeyleeeeeee97 - I agree we need more machines that can support container based testing (ie. with Docker installed). If we pin special.perf to https://ci.adoptopenjdk.net/label/sw.tool.docker&&ci.role.perf/ that implies we can only run these benchmarks on 2 platforms at the project (x86-64_linux and s390x_linux), when the tests get sent to the other platforms (which based on the playlist, since there are no platform restrictions, we will try to do, they will fail with "no machines available with that tag"). I think we have to ensure that we have Docker installed on a broad base of platforms, and then add a platformCapabilities tag to the playlist in this PR to exclude the systems where we are not able to run Docker. |
Do we have a
|
FrameworkBenchmarks is mentioned in #1112 .
Personnaly I am using this test a lot, it's open, popular, and covers a wide range of frameworks.
https://github.com/TechEmpower/FrameworkBenchmarks/tree/master/frameworks/Java