# what-studio/profiling

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/what-studio-profiling).**

2,937 stars · 111 forks · Python · BSD-3-Clause · archived

## Links

- GitHub: https://github.com/what-studio/profiling
- awesome-repositories: https://awesome-repositories.com/repository/what-studio-profiling.md

## Topics

`debug` `live-profiling` `profiling` `python` `statistical-profiling`

## Description

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 without requiring modifications to the application source code. Users can also trigger profiling logic programmatically based on specific runtime events or custom conditions.

The suite covers a broad range of observability tasks, including continuous monitoring of long-running services and the generation of detailed performance reports. Captured execution data can be serialized into a binary format for offline inspection, facilitating long-term performance tracking and regression analysis across development cycles.

## Tags

### Development Tools & Productivity

- [CLI Profiling Tools](https://awesome-repositories.com/f/development-tools-productivity/cli-profiling-tools.md) — Provides an interactive terminal-based interface for visualizing call stacks and performance bottlenecks in real time.
- [Python Profilers](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/debugging-diagnostics/performance-resource-profilers/cpu-profilers/python-profilers.md) — Captures and analyzes execution data in Python applications using tracing and sampling methods.
- [Process Signal Handlers](https://awesome-repositories.com/f/development-tools-productivity/process-signal-handlers.md) — Hooks into process signal handlers to capture stack traces without modifying application source code.

### System Administration & Monitoring

- [Application Performance Profiling](https://awesome-repositories.com/f/system-administration-monitoring/performance-monitoring-tools/application-performance-profiling.md) — Performs application performance profiling using tracing or sampling to identify bottlenecks. ([source](https://github.com/what-studio/profiling#readme))
- [Custom Trace Instrumentation](https://awesome-repositories.com/f/system-administration-monitoring/performance-tracing-platforms/custom-trace-instrumentation.md) — Wraps function calls with entry and exit hooks to generate precise call graphs and execution timing.
- [Statistical Sampling Profilers](https://awesome-repositories.com/f/system-administration-monitoring/system-statistics-collection/application-performance-statistics/statistical-sampling-profilers.md) — Periodically interrupts execution to record call stacks, minimizing overhead during monitoring.
- [Production Diagnostics](https://awesome-repositories.com/f/system-administration-monitoring/application-debugging-tools/production-diagnostics.md) — Captures execution data from live applications to troubleshoot latency issues with low overhead.
- [Application Performance Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/application-performance-monitoring/application-performance-monitoring.md) — Observes long-running processes and web servers to identify latency issues during active execution.
- [Real-Time Application Performance Monitors](https://awesome-repositories.com/f/system-administration-monitoring/application-performance-monitoring/application-performance-monitoring/real-time-application-performance-monitors.md) — Tracks performance of long-running services in real time to detect regressions.
- [Real-time Performance Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/real-time-performance-monitoring.md) — Tracks long-running processes in real time without interrupting active user sessions. ([source](https://github.com/what-studio/profiling#readme))
- [Profiling Methodologies](https://awesome-repositories.com/f/system-administration-monitoring/trace-sampling/statistical-profilers/profiling-methodologies.md) — Provides configurable profiling strategies, allowing users to switch between deterministic tracing and statistical sampling based on performance requirements. ([source](https://github.com/what-studio/profiling#readme))

### Testing & Quality Assurance

- [Execution Time Benchmarks](https://awesome-repositories.com/f/testing-quality-assurance/function-calling-benchmarks/execution-time-benchmarks.md) — Measures the execution duration of specific code blocks to identify performance bottlenecks and validate optimizations. ([source](https://github.com/what-studio/profiling#readme))
- [Benchmark Executions](https://awesome-repositories.com/f/testing-quality-assurance/test-and-benchmark-execution/benchmark-executions.md) — Measures execution speed of code snippets to validate performance improvements during development.

### Data & Databases

- [Hierarchical Performance Visualizers](https://awesome-repositories.com/f/data-databases/data-visualization/hierarchical-performance-visualizers.md) — Visualizes performance data through an interactive terminal interface for navigating call stacks. ([source](https://github.com/what-studio/profiling/blob/master/README.md))

### Programming Languages & Runtimes

- [Benchmarking Libraries](https://awesome-repositories.com/f/programming-languages-runtimes/python-code-analysis-libraries/benchmarking-libraries.md) — Provides a programmatic interface for measuring the duration of specific code blocks to detect performance regressions.

### Software Engineering & Architecture

- [Runtime Event Triggers](https://awesome-repositories.com/f/software-engineering-architecture/event-driven-plugin-logic/runtime-event-triggers.md) — Triggers profiling logic based on custom programmatic conditions or specific runtime events.
- [Performance Optimizers](https://awesome-repositories.com/f/software-engineering-architecture/static-code-analyzers/python-analyzers/performance-optimizers.md) — Identifies and resolves bottlenecks in Python applications by analyzing function call frequency and execution time.

### User Interface & Experience

- [Terminal-Based Navigation Interfaces](https://awesome-repositories.com/f/user-interface-experience/terminal-based-navigation-interfaces.md) — Provides a terminal-based interface for navigating hierarchical performance data in real time.
