Python profiler endpoints like Go's net/http/pprof.
pypprof adds HTTP-based endpoints for collecting profiles from a running Python application a la Go's
Add profiling endpoints to an application
Register the profiling endpoints in your application:
from pypprof.net_http import start_pprof_server start_pprof_server(port=8081)
Fetch profiles from your running application
Fetch a 30s CPU profile, and view as a flamegraph:
$ go tool pprof -http=:8088 :8081/debug/pprof/profile
Fetch a heap profile:
$ go tool pprof :8081/debug/pprof/heap
Dump stacks from your application:
$ curl localhost:8081/debug/pprof/thread?debug=1
pypprof is compatible with Python >= 2.7. Memory profiling is only available by default in Python >= 3.4. To enable memory profiling in earlier Pythons, you must patch Python and manually install mprofile.
Pull requests and issues are welcomed!
pypprof is released under the GNU Lesser General Public License, Version 3.0
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.