pyflame alternatives and similar packages
Based on the "Profiler" category.
Alternatively, view pyflame alternatives based on common mentions on social networks and blogs.
py-spy8.8 5.2 pyflame VS py-spySampling profiler for Python programs
line_profiler7.6 0.0 L4 pyflame VS line_profilerLine-by-line profiling.
memory_profiler7.6 4.9 L3 pyflame VS memory_profilerMonitor Memory usage of Python code
profiling7.1 1.5 L4 pyflame VS profilingAn interactive Python profiler.
The Fil memory profiler for PythonA Python memory profiler for data processing and scientific computing applications
Sampling Profiler for PythonSimple Python sampling profiler
Write Clean Python Code. Always.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of pyflame or a related project?
Pyflame: A Ptracing Profiler For Python
(This project is deprecated and not maintained.)
Pyflame is a high performance profiling tool that generates flame graphs for Python. Pyflame is implemented in C++, and uses the Linux ptrace(2) system call to collect profiling information. It can take snapshots of the Python call stack without explicit instrumentation, meaning you can profile a program without modifying its source code. Pyflame is capable of profiling embedded Python interpreters like uWSGI. It fully supports profiling multi-threaded Python programs.
Pyflame usually introduces significantly less overhead than the builtin
cProfile) modules, and emits richer profiling data. The
profiling overhead is low enough that you can use it to profile live processes
Full Documentation: https://pyflame.readthedocs.io
Building And Installing
For Debian/Ubuntu, install the following:
# Install build dependencies on Debian or Ubuntu. sudo apt-get install autoconf automake autotools-dev g++ pkg-config python-dev python3-dev libtool make
Once you have the build dependencies installed:
./autogen.sh ./configure make
make command will produce an executable at
src/pyflame that you can run
Optionally, if you have
virtualenv installed, you can test the executable you
The full documentation for using Pyflame is here. But here's a quick guide:
# Attach to PID 12345 and profile it for 1 second pyflame -p 12345 # Attach to PID 768 and profile it for 5 seconds, sampling every 0.01 seconds pyflame -s 5 -r 0.01 -p 768 # Run py.test against tests/, emitting sample data to prof.txt pyflame -o prof.txt -t py.test tests/
In all of these cases you will get flame graph data on stdout (or to a file if
-o). This data is in the format expected by
you can find here.
The full FAQ is here.
What's The Deal With (idle) Time?
tl;dr: use the
-x flag to suppress (idle) output.
What About These Ptrace Errors?
How Do I Profile Threaded Applications?
Is There A Way To Just Dump Stack Traces?
Yes, use the