-
Notifications
You must be signed in to change notification settings - Fork 67
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
--top-io does not behave as expected #75
Comments
Weirdly, it seems that just renaming two variables in the sudo cp /usr/share/dool/dool_top_io.py /usr/share/dool/dool_top_io.py.orig
sudo sed -i -e 's/read_bytes/rchar/g' -e 's/write_bytes/wchar/g' /usr/share/dool/dool_top_io.py
dool --top-io It seems like this is related to the values defined in cat /proc/$(pgrep python3)/io Which on my machine, returns,
|
There are four plugins that all seem to access plugins/dool_top_io.py Whatever we decide, we should make sure all the plugins are set the same. |
I'm going to close this issue unless we can find a good reason to use |
It depends. Consider the following:
I think |
I think this is solid reasoning. Would you like to submit a PR with these changes? Probably worth documenting in the plugin file explicitly what each one reads and why. I'm sure this will come up again in the future. |
SUMMARY
The
--top-io
flag should report the process causing the largest number of IO operations, but it seems like this does not work if the process is spawning child processes which are causing the IO operations.However,
dstat --top-io
correctly reports the parent process. I looked at the code for the--top-io
plugin and the code is similar, so I wonder what could be causing such a difference.ISSUE TYPE
DOOL VERSION
Dool 1.3.2
OS / ENVIRONMENT
Platform posix/linux
Kernel 5.15.0-119-generic
Python 3.10.12 (main, Jul 29 2024, 16:56:48) [GCC 11.4.0]
STEPS TO REPRODUCE
Save this python snippet at
/tmp/high_tps.py
,And run,
python3 high_tps.py & dstat --top-io dool --top-io
EXPECTED RESULTS
The output of both
dstat --top-io
anddool --top-io
should match.ACTUAL RESULTS
See screenshot in the comments.
The text was updated successfully, but these errors were encountered: