15 comments

[ 4.3 ms ] story [ 66.1 ms ] thread
It is not explained anywhere what the heat map is of… is it the age of the line or the number of commits? Is this configurable or what?
I used this tool a few month ago, as a way to quickly profile some slow running functions in one of my notebooks. The color is mapped to the cumulative run time of the line.
This project wraps py-heat https://github.com/csurfer/pyheat in a convenient to use ipython magic command. Pyheat presents a heat map of profiler output: i.e. the output of running your program and measuring the time to execute each line of python code. Pyheat in turn uses pprofile https://github.com/vpelletier/pprofile.
I think it warrants an explaination of what py-heat is rather than assuming that the reader knows.
Profiling Python code is such a hot mess. Since Linesman is not available anymore I actually don't know a good tool to do development profiling except use cProfile and a lot of time I don't have. Production is worse. Only thing that (sort of works) is Elastic APM (RIP Opbeat which was phenomenal).

Anyone have a better option out there?

py-spy with speedscope output is what I use in both prod and dev.