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.
This pull request is an extension to #118 and #134 and tries to improve the ability to analyze child process memory consumption.
Changes/additions:
pidinstead of sequentially -- this is to ensure that we can properly track children of processes where the parent might continuously spawn many short-lived childrenconvert_mem_usage_to_dffunction which produces apandas.DataFramefrom a list returned bymemory_usagefor easier plotting and slicingmprofto monitor an existing process by providing a pidSide-effects:
read_mprofile_filefunction tomemory_profilerso that it can be used programaticallyread_mprofile_file_multiprocessfunction that reads a mprofile file and returns a list of timings identical to what you expect frommemory_usagememory_usage#139plot_filewhere plotting would fail when number of children > 6timeoutflag tomprof