-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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 <yegorlz@amazon.co.uk>
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 <yegorlz@amazon.co.uk>
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 <yegorlz@amazon.co.uk>
Save logs and json files for network perf tests. Signed-off-by: Egor Lazarchuk <yegorlz@amazon.co.uk>
Save logs and json files for vsock perf tests. Signed-off-by: Egor Lazarchuk <yegorlz@amazon.co.uk>
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 <yegorlz@amazon.co.uk>
Allow to change the output directory of the CI run with --json-report-file option Signed-off-by: Egor Lazarchuk <yegorlz@amazon.co.uk>
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 <yegorlz@amazon.co.uk>
Cross snapshot pipeline run commands after devtool test, so no archiving is needed. Signed-off-by: Egor Lazarchuk <yegorlz@amazon.co.uk>
debd0ed
to
9303fd7
Compare
Changes
Save metrics and performance artifacts(logs/json files) we get from test into
test_results
for further processing.Allow to change the results directory for CI.
Previously the content of
test_results
looked like this:Now it will be:
If the CI is run in BK the
test_results
directory will be archived intotest_results/data.tar.gz
Reason
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 checkstyle
to 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
.