-
Notifications
You must be signed in to change notification settings - Fork 1.9k
[1.7] backport IO metrics from main #4490
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
[1.7] backport IO metrics from main #4490
Conversation
This is needed to collect metrics depending on the number of remaining requests in the queue. (cherry picked from commit d480849) Signed-off-by: Nikita Kalyazin <kalyazin@amazon.com>
This is for it to be available in block and net modules. (cherry picked from commit 430a034) Signed-off-by: Nikita Kalyazin <kalyazin@amazon.com>
LatencyAggregateMetrics metrics are dictionaries rather than ints, so they require special treatment. (cherry picked from commit 012a38a) Signed-off-by: Nikita Kalyazin <kalyazin@amazon.com>
These metrics measure how long Firecracker VMM thread is blocked on the read/write syscalls when accessing data in the drive file. By looking at them, we will be able to see what portion of block latency is attributed to factors external to Firecracker. (cherry picked from commit e00d62d) Signed-off-by: Nikita Kalyazin <kalyazin@amazon.com>
This metric accumulates the number of pending requests sitting in the virtio queue while a request is being processed. By looking at this number, one may make a decision on whether an async IO solution would be beneficial. (cherry picked from commit 58a87ed) Signed-off-by: Nikita Kalyazin <kalyazin@amazon.com>
This metric measures how long Firecracker VMM thread is blocked on the write syscalls when accessing a tap device. By looking at it, we will be able to see what portion of tx net latency is attributed to factors external to Firecracker. (cherry picked from commit f7d8a33) Signed-off-by: Nikita Kalyazin <kalyazin@amazon.com>
This metric accumulates the number of pending requests sitting in the Tx virtio queue while a request is being processed. This may give an insight at how sensible it would be to think of processing ingress traffic parallelly. (cherry picked from commit 3753f35) Signed-off-by: Nikita Kalyazin <kalyazin@amazon.com>
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## firecracker-v1.7 #4490 +/- ##
====================================================
+ Coverage 81.63% 81.65% +0.01%
====================================================
Files 243 243
Lines 29803 29834 +31
====================================================
+ Hits 24329 24360 +31
Misses 5474 5474
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
- block/net file/tap access latencies - block/net virtio queue backlog lengths (cherry picked from commit 448df60) Signed-off-by: Nikita Kalyazin <kalyazin@amazon.com>
afb0c25
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 adding this!
Changes
Backporting extra IO metrics (#4486) from main.
Reason
We would like for them to appear in prod as soon as possible.
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
[ ] If a specific issue led to this PR, this PR closes the issue.PR.
[ ] API changes follow the Runbook for Firecracker API changes.CHANGELOG.md
.[ ] All added/changed functionality is tested.[ ] NewTODO
s link to an issue.contribution quality standards.
rust-vmm
.