DLPX-78812 Disk IO analytics collector not running on aws #73
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
DESCRIPTION
This commit fixes the disk io analytics collector an aws engines. The stbtrace io script fails with the following error:
Though the probe cannot attach, this function is still called in the linux_kernel_aws code:
The call is from blk_update_request() which is called by blk_mq_end_request().
In the generic code we have the same lines plus an additional declaration in an include file (does removing this lead to the function not being probable?). Interestingly, there are a few sample bpf scripts that probe the function.
SUGGESTED FIX
A fix is suggested by the sample scripts. The aws repo uses blk_account_io_done() for the examples.
It appears blk_account_io_done() is called shortly after blk_acount_io_complete() and should provide similar latency results. The difference be the time needed to updated stats.
TESTING
With the fix the stbtrace script runs on aws and returns reasonable data:
This also works on a dcol1 vmware engine:
Estat backend-io also now works on aws: