Scalene is a high-performance diagnostic utility designed to measure resource consumption during the execution of Python applications. It functions as a line-level monitor, providing granular insights that pinpoint the specific source code responsible for performance overhead. The tool distinguishes itself through statistical profiling that captures stack traces and resource usage without requiring manual instrumentation of the source code. It tracks CPU, GPU, and memory consumption by intercepting library-level calls and hardware driver commands, allowing for the analysis of both managed and
Memray is a memory profiler for Python that tracks heap allocations in both Python code and native C or C++ extensions. It captures memory events by hooking into the language runtime and traversing call stacks, providing a comprehensive view of how an application consumes memory. The tool is designed to minimize performance impact on the target application by using thread-local buffering and streaming data to an external process or file. The project distinguishes itself through its ability to monitor complex, multi-threaded systems and child processes in real-time. It provides diagnostic util
pyinstrument is a statistical sampling profiler for Python that records the call stack at regular intervals to identify performance bottlenecks with low overhead. It tracks wall-clock time, including I/O and external service calls, and provides specialized profiling for asynchronous programs by attributing time spent awaiting tasks to the calling function. The project converts captured execution data into interactive HTML reports, JSON, and flamecharts. It includes a call stack visualizer to simplify the analysis of execution paths and supports the profiling of individual cells within interac
Samply is a cross-platform CPU sampling profiler and performance analysis utility. It consists of a command-line tool for recording process stack traces at regular intervals and a visual interface for analyzing the resulting execution data. The system includes a debug symbol resolver that maps raw memory addresses to human-readable function names using local or remote symbol information. It transforms recorded execution data into flame graphs and timelines to pinpoint function-level hotspots. The tool provides capabilities for CPU execution recording, stack unwinding, and symbol resolution a
py-spy is a sampling profiler and process debugger for Python. It allows for the analysis of running processes to identify performance bottlenecks and diagnose hanging programs without requiring code changes or restarts.
Principalele funcționalități ale benfred/py-spy sunt: Python Profilers, Native Stack Unwinders, Thread Dumps, Non-Pausing State Sampling, Out-of-Process Sampling, User-Space Memory Inspection, Symbol Resolution Engines, Process Debuggers.
Alternativele open-source pentru benfred/py-spy includ: plasma-umass/scalene — Scalene is a high-performance diagnostic utility designed to measure resource consumption during the execution of… bloomberg/memray — Memray is a memory profiler for Python that tracks heap allocations in both Python code and native C or C++… joerick/pyinstrument — pyinstrument is a statistical sampling profiler for Python that records the call stack at regular intervals to… mstange/samply — Samply is a cross-platform CPU sampling profiler and performance analysis utility. It consists of a command-line tool… iqiyi/xcrash — xCrash is an Android crash reporting SDK and diagnostic tool designed to monitor application health. It captures Java… gallopsled/pwntools — Pwntools is a Python-based framework designed for rapid prototyping and automation in binary exploitation, reverse…