-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
[tests] Network and cpu utilization improvements #4456
[tests] Network and cpu utilization improvements #4456
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #4456 +/- ##
=======================================
Coverage 81.63% 81.63%
=======================================
Files 243 243
Lines 29789 29789
=======================================
Hits 24319 24319
Misses 5470 5470
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
b57909e
to
4fe11bf
Compare
4fe11bf
to
587c992
Compare
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.
Changes look good to me, let's just double check that the additional metrics don't break A/B-tests
27e4a36
to
166a938
Compare
13d9a6a
to
38614b6
Compare
38614b6
to
717d953
Compare
717d953
to
a20c25f
Compare
Fix style in the test_dependencies.py Signed-off-by: Egor Lazarchuk <[email protected]>
The additional iterations for the ping test were introduced in order to decrease false positive rate of the A/B tests. With automatic retries of A/B tests these additional iterations are not needed anymore. Signed-off-by: Egor Lazarchuk <[email protected]>
Move GUEST_MEM_MIB and GUEST_VCPUS into network_microvm fixture. GUEST_VCPUS was not used anywere. GUEST_MEM_MIB was only used in the fixture itself. Signed-off-by: Egor Lazarchuk <[email protected]>
Move test specific global variables into the test they are used in. This way all test related info is inside the test itself. Signed-off-by: Egor Lazarchuk <[email protected]>
Remove TcpIPerf3Test class as it is only used in one test and only contains some parameters for inner class. Signed-off-by: Egor Lazarchuk <[email protected]>
These vars were not used anywhere. Signed-off-by: Egor Lazarchuk <[email protected]>
Replace mappings of iperf3 modes with iperf3 flags with separate methods. This simplifies the process of getting correct mode/flag for specific client. Signed-off-by: Egor Lazarchuk <[email protected]>
Remove SERVER_STARTUP_TIME_SEC as it is only used in one function. Use the values directly instead. Signed-off-by: Egor Lazarchuk <[email protected]>
Remove classes/methods not used anywhere in the codebase. Signed-off-by: Egor Lazarchuk <[email protected]>
Cpu utilization was gathered per thread name per thread PID. But thread PID or name never changes, so tracking per thread name is enough. Previous data format: ``` { "thread_name": { "thread_pid": util, } } ``` New data format: ``` { "thread_name": util, } ``` Also renamed get_cpu_percent in 2 places to get_cpu_utilization and track_cpu_utilization to have a better separation. Signed-off-by: Egor Lazarchuk <[email protected]>
Add metrics for all fc threads cpu utilization. Signed-off-by: Egor Lazarchuk <[email protected]>
ProcessManager had only static methods. Removing it simplifies the code a bit. Signed-off-by: Egor Lazarchuk <[email protected]>
We don't want to test cpu utilization in a/b test. Signed-off-by: Egor Lazarchuk <[email protected]>
a20c25f
to
a75a2ac
Compare
Changes
Minor clean up of network and cpu utilization testing code.
Now cpu utilization is tracked for all threads.
License Acceptance
By submitting this pull request, I confirm that my contribution is made under
the terms of the Apache 2.0 license. For more information on following Developer
Certificate of Origin and signing off your commits, please check
CONTRIBUTING.md
.PR Checklist
PR.
CHANGELOG.md
.TODO
s link to an issue.contribution quality standards.
rust-vmm
.