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

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
joerick avatar

joerick/pyinstrument

0
View on GitHub↗
7,638 Stars·257 Forks·Python·bsd-3-clause·7 Aufrufepyinstrument.readthedocs.io↗

Pyinstrument

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 interactive notebooks.

The tool covers a broad range of analysis capabilities, including C-function execution tracking, session management for saving and reloading data, and the ability to filter out irrelevant library frames using glob patterns. It can be used via a programmatic interface with decorators and context managers, or as a command-line tool to analyze scripts and web requests.

Features

  • Python Profilers - Identifies slow functions and bottlenecks in Python code by sampling the call stack and measuring wall-clock time.
  • Execution Stack Samplers - Identifies performance bottlenecks by sampling the call stack at regular intervals with low overhead.
  • Async Timing Attribution - Tracks time spent awaiting asynchronous tasks to accurately profile code execution across different contexts.
  • Runtime Call-Stack Capturers - Captures the runtime call stack to identify the source of execution delays.
  • Asynchronous Profilers - Tracks execution context in asynchronous programs to attribute time spent awaiting tasks.
  • Asynchronous Attribution - Attributes time spent awaiting asynchronous tasks to the calling function to ensure accurate profiles in concurrent programs.
  • Asynchronous Programming Patterns - Tracks time spent awaiting tasks in async Python code to understand where an event loop is blocked.
  • Wall-Clock Time Measurement - Tracks total elapsed time including I/O operations and external service calls.
  • Function Execution Timing - Records the execution time of functions and modules to identify performance bottlenecks.
  • Call Graph Visualizers - Converts captured execution data into interactive HTML reports, JSON, and flamecharts for performance analysis.
  • Statistical Profilers - Uses a sampling profiler that records the Python call stack at regular intervals to identify performance bottlenecks with low overhead.
  • Wall-Clock Time Profilers - Tracks total elapsed time including I/O and external service calls rather than just CPU cycles.
  • Application Debugging - Finds the root cause of execution delays in scripts or modules to improve overall program speed.
  • Call Tree Aggregators - Groups repeated function calls into a hierarchical tree structure to simplify the analysis of complex execution paths.
  • CLI Profiling Tools - Enables executing scripts from the terminal to generate immediate performance reports.
  • Code Instrumentation Utilities - Provides a programmatic interface to instrument functions and methods for performance monitoring.
  • External Script Analyzers - Analyzes scripts, modules, or code strings from the terminal without requiring changes to original source files.
  • Cell-Level Profiling - Allows profiling specific code cells within interactive notebooks using specialized commands.
  • Notebook Profilers - Provides a performance measurement tool for analyzing execution time of individual cells within interactive Python notebooks.
  • Notebook Performance Optimization - Measures the execution time of specific cells within interactive notebooks to optimize data science workflows.
  • Script Performance Analysis - Analyzes execution time for scripts run from the command line to summarize time distribution.
  • Internal Frame Filters - Removes noise from performance reports by excluding specific library or system frames using glob pattern matching.
  • Web Request Profiling - Analyzes the call stack of HTTP requests to generate performance reports for web-based traffic.
  • Code Block Timing - Measures elapsed time for specific segments of code using context managers or decorators.
  • Performance Metric Exports - Exports captured performance data into HTML, JSON, and trace files for external visualization.
  • Profiling Visualization Filters - Hides irrelevant library frames and modules using glob patterns to focus on application code.
  • Web Request Profilers - Analyzes the call stack of HTTP requests to find slow operations in web applications and APIs.
  • Performance Profiling - Call stack profiler for Python code.
  • System Monitoring And Profiling - Call stack profiler that identifies performance bottlenecks.

Star-Verlauf

Star-Verlauf für joerick/pyinstrumentStar-Verlauf für joerick/pyinstrument

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Pyinstrument

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Pyinstrument.
  • plasma-umass/scaleneAvatar von plasma-umass

    plasma-umass/scalene

    13,449Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗13,449
  • benfred/py-spyAvatar von benfred

    benfred/py-spy

    15,272Auf GitHub ansehen↗

    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 capa

    Rustperformance-analysisprofilerprofiling
    Auf GitHub ansehen↗15,272
  • google/perfettoAvatar von google

    google/perfetto

    5,558Auf GitHub ansehen↗

    Perfetto is a platform for system-level performance tracing and analysis on Linux and Android. It combines a high-throughput trace recorder, a SQL-based query engine, and a browser-based visualizer into a single toolchain. The platform covers CPU scheduling and call-stack profiling, native and Java heap memory allocation tracking, GPU and graphics events, and system-wide counters such as CPU frequency and power consumption. The architecture decouples trace recording from offline analysis, using a compact protobuf format for event encoding and columnar storage for efficient SQL queries. The we

    C++
    Auf GitHub ansehen↗5,558
  • what-studio/profilingAvatar von what-studio

    what-studio/profiling

    2,937Auf GitHub ansehen↗

    This project is a performance analysis suite for Python applications, providing tools for both application-wide profiling and granular code benchmarking. It enables developers to identify execution bottlenecks and measure function call frequency through a combination of deterministic tracing and statistical sampling methods. The tool distinguishes itself by offering a terminal-based interactive interface that allows for real-time navigation and filtering of complex call stacks. It supports non-intrusive data collection through signal-based process interception, enabling performance monitoring

    Pythondebuglive-profilingprofiling
    Auf GitHub ansehen↗2,937
Alle 30 Alternativen zu Pyinstrument anzeigen→

Häufig gestellte Fragen

Was macht joerick/pyinstrument?

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.

Was sind die Hauptfunktionen von joerick/pyinstrument?

Die Hauptfunktionen von joerick/pyinstrument sind: Python Profilers, Execution Stack Samplers, Async Timing Attribution, Runtime Call-Stack Capturers, Asynchronous Profilers, Asynchronous Attribution, Asynchronous Programming Patterns, Wall-Clock Time Measurement.

Welche Open-Source-Alternativen gibt es zu joerick/pyinstrument?

Open-Source-Alternativen zu joerick/pyinstrument sind unter anderem: plasma-umass/scalene — Scalene is a high-performance diagnostic utility designed to measure resource consumption during the execution of… benfred/py-spy — py-spy is a sampling profiler and process debugger for Python. It allows for the analysis of running processes to… google/perfetto — Perfetto is a platform for system-level performance tracing and analysis on Linux and Android. It combines a… what-studio/profiling — This project is a performance analysis suite for Python applications, providing tools for both application-wide… iovisor/bcc — BCC is an eBPF development toolkit and tracing framework used for monitoring and analyzing the Linux kernel. It… gperftools/gperftools — gperftools is a collection of specialized tools for profiling CPU usage, detecting memory errors, and providing…