Python profiler endpoints like Go's net/http/pprof.
Project description
pypprof
pypprof adds HTTP-based endpoints for collecting profiles from a running Python application a la Go's net/http/pprof
.
Under the hood, it uses zprofile and mprofile to collect CPU and heap profiles with minimal overhead.
Usage
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
Compatibility
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.
Contributing
Pull requests and issues are welcomed!
License
pypprof is released under the GNU Lesser General Public License, Version 3.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pypprof-0.0.1.tar.gz
.
File metadata
- Download URL: pypprof-0.0.1.tar.gz
- Upload date:
- Size: 11.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/2.7.15+
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08deae1734ba5cd11fc9def23b40d1fe28a758a214ff58794d7a2f96aa5bfa2c |
|
MD5 | 27b27df76b748cc4b893a2f61984da81 |
|
BLAKE2b-256 | 606a1486f0320376119e93c7ca4208f1105d592ee80e2a0fcddb282e9df762a7 |