-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Save tests metrics and performance artifacts #5191
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
Conversation
9c1a1d2 to
d8f774d
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #5191 +/- ##
==========================================
+ Coverage 82.88% 82.93% +0.05%
==========================================
Files 250 250
Lines 26936 26936
==========================================
+ Hits 22325 22339 +14
+ Misses 4611 4597 -14
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
b427828 to
3719b26
Compare
717f67b to
91befbb
Compare
0dde2df to
4696ae8
Compare
baa10a9 to
addfd53
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.
validated everything still works by running a dummy A/B test
a7155a9 to
53310e7
Compare
Run formatter on python. Signed-off-by: Egor Lazarchuk <[email protected]>
For each test store metrics it emits into a metrics.json file. This makes it easier to look at the metrics. Signed-off-by: Egor Lazarchuk <[email protected]>
Save logs and json files for block perf tests. For log parsing, specify the root_dir for `glob.glob` otherwise it wll struggle with directory names like: `test_block_performance[vmlinux-5.10.233-Sync-bs4096-randread-1vcpu]` Signed-off-by: Egor Lazarchuk <[email protected]>
Save logs and json files for network perf tests. Signed-off-by: Egor Lazarchuk <[email protected]>
Save logs and json files for vsock perf tests. Signed-off-by: Egor Lazarchuk <[email protected]>
b529b67 to
fdafaa6
Compare
fdafaa6 to
debd0ed
Compare
Now `test_results` will contain a lot of files and directories with all test metrics and data files. To speed up upload and download of test_results, compress it's content if tests are run in CI. Also add an `--no-archive` option to skip archiving if needed. Signed-off-by: Egor Lazarchuk <[email protected]>
Allow to change the output directory of the CI run with --json-report-file option Signed-off-by: Egor Lazarchuk <[email protected]>
Currently when A/B is run, only results for B test are available in the `test_results` dir because this dir is shared for both runs and the last one overwrites the data. Now we store results into separate dirs. Signed-off-by: Egor Lazarchuk <[email protected]>
Cross snapshot pipeline run commands after devtool test, so no archiving is needed. Signed-off-by: Egor Lazarchuk <[email protected]>
debd0ed to
9303fd7
Compare
Changes
Save metrics and performance artifacts(logs/json files) we get from test into
test_resultsfor further processing.Allow to change the results directory for CI.
Previously the content of
test_resultslooked like this:Now it will be:
If the CI is run in BK the
test_resultsdirectory will be archived intotest_results/data.tar.gzReason
Currently the only output of tests we have are emitted metrics. This means we discard a lot of data we get during test runs (mainly perf tests). This is turn makes it more difficult to analyze performance of Firecracker to the point where we have to use custom scripts to do so. By simply saving all original data, we simplify data gathering and processing step.
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
tools/devtool checkstyleto verify that the PR passes theautomated style checks.
how they are solving the problem in a clear and encompassing way.
in the PR.
CHANGELOG.md.Runbook for Firecracker API changes.
integration tests.
TODO.rust-vmm.