Skip proc scan in sinsp_dumper w/ threads_from_sinsp=true#1164
Merged
Conversation
The way sinsp_dumper::open() and ::fdopen() behaved was slightly inconsistent. fdopen() would unconditionally call scap_dump_open with skip_proc_scan=true, and open() would unconditionally call scap_dump_open with skip_proc_scan=false, regardless of the value of threads_from_sinsp. threads_from_sinsp=true is a strong indicator that scap_dump_open should *not* scan /proc for processes, as sinsp is going to write the threads list to the dump file immediately after opening. So tie threads_from_sinsp to whether or not to skip the proc scan--threads_from_sinsp=true implies skip_proc_scan. For fdopen(), this is a change from unconditional to honoring threads_from_sinsp. For open(), it requires adding a skip_proc_scan argument to scap_dump_open, setting it to false in other calls to scap_dump_open outside of sinsp_dumper::open(), and tying it to threads_from_sinsp in sinsp_dumper::open().
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The way sinsp_dumper::open() and ::fdopen() behaved was slightly
inconsistent. fdopen() would unconditionally call scap_dump_open with
skip_proc_scan=true, and open() would unconditionally call
scap_dump_open with skip_proc_scan=false, regardless of the value of
threads_from_sinsp.
threads_from_sinsp=true is a strong indicator that scap_dump_open
should not scan /proc for processes, as sinsp is going to write the
threads list to the dump file immediately after opening.
So tie threads_from_sinsp to whether or not to skip the proc
scan--threads_from_sinsp=true implies skip_proc_scan.
For fdopen(), this is a change from unconditional to honoring
threads_from_sinsp. For open(), it requires adding a skip_proc_scan
argument to scap_dump_open, setting it to false in other calls to
scap_dump_open outside of sinsp_dumper::open(), and tying it to
threads_from_sinsp in sinsp_dumper::open().