FunctionTrace can be called on existing Python applications with absolutely no modifications, and provides a complete and precise view of your application's entire execution. You'll see what functions your various Python processes and threads executed over time, when and what information was logged, where allocations occurred, and more.
See precise profiling information throughout your entire application, rather than being limited to just one process or thread.
You’ll never miss small but interesting function calls when looking at a FunctionTrace profile, as all information is recorded. You also don’t need to pay for this - profiling overhead is <10%, even on complex applications.
FunctionTrace can track allocations throughout function calls in your application, telling you where to focus your optimization efforts.
When a developer encounters a bug or performance issue, they can easily send the recorded FunctionTrace profile to their team, allowing multiple people to investigate the issue without needing to reproduce it.
FunctionTrace supports all the useful profiling views you’re familiar with, including Stack Charts, Flame Graphs, and Call Trees, thanks to its integration with the Firefox Profiler.