-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
331 additions
and
31 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,9 +4,7 @@ dist | |
*.pyc | ||
*.dot | ||
*.db | ||
*.mk | ||
*.png | ||
*.dot | ||
*.svg | ||
config.inc.sh | ||
make_profile.db |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,36 @@ | ||
sudo apt install python3-pip graphviz | ||
pip3 install more_itertools | ||
#Makefile Profiler | ||
|
||
Example of usage: | ||
Helps managing a large data processing pipeline written in Makefile. | ||
|
||
./preprocess.py -i Makefile_template -o Makefile | ||
./clean.py -i Makefile_template any_targets you_like | ||
make -j -k | ||
./dot_export.py -i Makefile_template | ||
xdg-open make.png | ||
|
||
Features: | ||
##Features | ||
|
||
* SVG build overview; | ||
|
||
* inlining of images into build overview; | ||
* Inline pictures-targets into build overview; | ||
|
||
* Logs for each target marked with timestamps; | ||
|
||
* Easily distinguish a failed target execution from failed touch; | ||
* Distinguish a failed target execution from forgotten touch; | ||
|
||
* Navigate to last run's logs from each target directly from call graph; | ||
|
||
* Support for self-documented Makefiles according to | ||
http://marmelab.com/blog/2016/02/29/auto-documented-makefile.html; | ||
http://marmelab.com/blog/2016/02/29/auto-documented-makefile.html | ||
|
||
##Sample overview | ||
 | ||
|
||
##Example usage | ||
|
||
pip install make-profiler | ||
|
||
cd your_project | ||
make_profiler -h # have a look at help | ||
|
||
make_profiler # generate overview graph without profiling data | ||
xdg-open make.svg # have a look at call graph | ||
|
||
make_profiler_clean target_to_remove_with_children | ||
|
||
make_profiler -j -k target_name # run some target, record execution times and logs | ||
xdg-open make.svg # have a look at call graph with timing data |
Oops, something went wrong.