Skip to content

Latest commit

 

History

History
38 lines (22 loc) · 1.19 KB

README.md

File metadata and controls

38 lines (22 loc) · 1.19 KB

Makefile Profiler

Helps managing a large data processing pipeline written in Makefile.

Features

build graph example

  • Critical Path is highlighted;

  • Inline pictures-targets into build overview;

  • Logs for each target marked with timestamps;

  • 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

Example usage

sudo apt install python3-pip graphviz gawk
sudo pip3 install https://github.com/gojuno/make-profiler/archive/master.zip 

cd your_project
profile_make -h                 # have a look at help

profile_make                    # generate overview graph without profiling data
xdg-open make.svg               # have a look at call graph

profile_make_clean target_to_remove_with_children

profile_make -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