A curated list tools for kinds of programming languages to analysis system performance.
- cProfile - cProfile and profile provide deterministic profiling of Python programs. A profile is a set of statistics that describes how often and for how long various parts of the program executed
- pyinstrument - Pyinstrument is a Python profiler. A profiler is a tool to help you optimize your code - make it faster
- line_profiler - A module for doing line-by-line profiling of functions
- memory_profiler - Monitoring memory consumption of a process as well as line-by-line analysis of memory consumption for python programs
- psutil - A cross-platform library for retrieving information on running processes and system utilization (CPU, memory, disks, network, sensors)
- py-spy - A sampling profiler for Python programs, extremely low overhead: it is written in Rust for speed
- runsnakerun - Snakerunner is a GUI viewer for Python profiling runs. It provides exorability and overall visualization of the call tree and package/module structures
- py-Flame - Pyflame is a high performance profiling tool that generates flame graphs for Python
- vprof - vprof is a Python package providing rich and interactive visualizations for various Python program characteristics such as running time and memory usage
- PyCharm Profiler - A performance profiling tool built into the PyCharm Integrated Development Environment (IDE)
- SnakeViz - SnakeViz is a browser based graphical viewer for the output of Python’s cProfile module and an alternative to using the standard library pstats module
- GProf2Dot - A Python script to convert the output from many profilers into a dot graph
- PyShark - Python wrapper for tshark, allowing python packet parsing using wireshark dissectors
- PyPerformance
- Pympler - Pympler is a development tool to measure, monitor and analyze the memory behavior of Python objects in a running Python application
- Yappi - A tracing profiler that is multithreading, asyncio and gevent aware
- PySnooper - Add one decorator line to the function you're interested in. Got a play-by-play log of your function.
- Valgrind - Tools that can automatically detect many memory management and threading bugs, and profile your programs in detai
- Prevent
- Coverity Static Analysis - For static code analysis of Open Source projects.
- Purify - A useful tool for finding memory management problems and other sources of intermittent problems
- Intel VTune - Intel® VTune™ Profiler optimizes application performance, system performance, and system configuration for HPC, cloud, IoT, media, storage, and more.