awesome-repositories.com
Blog
MCP
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
benfred avatar

benfred/py-spy

0
View on GitHub↗
15,272 stele·526 fork-uri·Rust·MIT·6 vizualizări

Py Spy

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.

The tool operates by reading the memory of a running process from the outside, which enables non-invasive sampling and state collection without pausing execution. It can resolve binary symbols to capture performance data from native extensions written in compiled languages and generate visual flame graphs for both native extensions and subprocesses.

The project provides capabilities for real-time process monitoring, execution profiling, and thread call stack dumping. These utilities allow for the inspection of local variables and call stacks across all active threads to identify deadlocks or infinite loops.

Features

  • Python Profilers - Identifies slow functions and execution bottlenecks in running Python programs without modifying source code.
  • Native Stack Unwinders - Traverses call stacks across managed and native code boundaries to resolve function names and line numbers.
  • Thread Dumps - Provides snapshots of active threads and their local variables to diagnose deadlocks and infinite loops in running processes.
  • Non-Pausing State Sampling - Reads interpreter state while the program continues to run to eliminate execution interruptions during data collection.
  • Out-of-Process Sampling - Collects performance data by reading a running process's memory from the outside without interrupting execution.
  • User-Space Memory Inspection - Reads a process's user-space memory addresses directly to analyze the call stack without modifying the target code.
  • Symbol Resolution Engines - Maps raw memory addresses to human-readable function names by parsing binary debug information from native extensions.
  • Process Debuggers - Dumps call stacks and local variables from every thread to identify and diagnose hanging processes.
  • Thread State Extractors - Iterates through all active threads to capture individual execution paths and local variable states for debugging.
  • Production Program Sampling - Analyzes the behavior of running Python applications in production without pausing execution or restarting services.
  • Non-Invasive Program Sampling - Samples the execution of running processes to identify bottlenecks without requiring code changes or restarts.
  • Native Extension Profiling - Captures performance data from extensions written in compiled languages by reading symbols from the binary.
  • Runtime Offset Bindings - Locates internal runtime structures by calculating version-specific memory offsets for compatibility across different Python interpreters.
  • Live Execution Monitoring - Displays a real-time view of functions consuming the most time in a running program.
  • Runtime Binding Generators - Generates low-level bindings for multiple runtime versions using offset calculations to ensure environment compatibility.
  • Real Time Process Monitors - Provides a real-time view of functions consuming the most CPU time in a live Python process.
  • Flame Graph Generators - Converts stack trace data into interactive flame graphs for analyzing the performance of native extensions and subprocesses.
  • Execution Profilers - Records execution data to files to generate performance visualizations like flame graphs.
  • Debugging And Profiling - Sampling profiler for Python programs.
  • Debugging Tools - Listed in the “Debugging Tools” section of the Awesome Python awesome list.
  • Performance Profiling - Sampling profiler for Python applications.
  • System Monitoring And Profiling - Sampling profiler that visualizes execution without stopping the program.

Istoric stele

Graficul istoricului de stele pentru benfred/py-spyGraficul istoricului de stele pentru benfred/py-spy

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Py Spy

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Py Spy.
  • plasma-umass/scaleneAvatar plasma-umass

    plasma-umass/scalene

    13,449Vezi pe GitHub↗

    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

    Pythoncpucpu-profilinggpu
    Vezi pe GitHub↗13,449
  • bloomberg/memrayAvatar bloomberg

    bloomberg/memray

    14,885Vezi pe GitHub↗

    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

    Pythonhacktoberfestmemorymemory-leak
    Vezi pe GitHub↗14,885
  • joerick/pyinstrumentAvatar joerick

    joerick/pyinstrument

    7,638Vezi pe GitHub↗

    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

    Pythonasyncdjangoperformance
    Vezi pe GitHub↗7,638
  • mstange/samplyAvatar mstange

    mstange/samply

    4,263Vezi pe GitHub↗

    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

    Rust
    Vezi pe GitHub↗4,263
Vezi toate cele 30 alternative pentru Py Spy→

Întrebări frecvente

Ce face benfred/py-spy?

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.

Care sunt principalele funcționalități ale benfred/py-spy?

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.

Care sunt câteva alternative open-source pentru benfred/py-spy?

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…