104 repositorios
Utilities for inspecting, tracing, and optimizing application performance.
Explore 104 awesome GitHub repositories matching part of an awesome list · Debugging And Profiling. Refine with filters or upvote what's useful.
Delve is a command-line debugger designed for programs written in the Go programming language. It provides an interactive interface for runtime analysis, allowing developers to control program execution, inspect memory and variable states, and navigate call stacks to identify logic errors. The tool distinguishes itself through deep integration with the Go runtime, specifically by providing goroutine-aware stack unwinding and the ability to manage concurrent execution threads. It utilizes a client-server protocol to decouple the debugger engine from the user interface, enabling both local and
Standard debugger for Go.
Laravel Debugbar is a web-based debugging toolbar and application profiler for Laravel. It provides a visual interface to inspect database queries, logs, and performance metrics in real time to identify and resolve bugs during development. The tool features a database query monitor to capture SQL statements and timings, as well as a request inspector for analyzing route metadata, loaded views, and HTTP request data. It includes a profiler for measuring execution time and memory usage to identify bottlenecks in the request lifecycle. Its observability capabilities cover exception capture, app
Integrates a debugging toolbar for application testing.
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
Sampling profiler for Python programs.
This tool functions as a generator that maps dynamic framework methods and database model properties to static files, ensuring integrated development environments recognize runtime features. It acts as a static analysis helper by inspecting framework structures to provide accurate type hinting and autocompletion for core classes and container-bound objects. The project distinguishes itself by its ability to interrogate the dependency injection registry and scan runtime method registrations to document dynamically added functionality. It further differentiates by performing reflection-based in
Generates auto-complete support for IDEs.
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
High-performance CPU, GPU, and memory profiler.
Whoops is a PHP debugging tool and error handler designed to intercept and visualize exceptions and stack traces during application development. It functions as an exception renderer that converts errors into human-readable web pages or machine-readable responses. The project differentiates itself by providing a visual debugging interface with line-highlighted code views and a stack trace visualizer that links directly to source files in a local text editor or IDE. It employs environment-aware response resolution to automatically select between HTML, JSON, XML, or plain text output based on t
Displays pretty error pages for development.
This project is a JavaScript logging utility and namespace-based debugger used for printing formatted, color-coded debug messages to the console in Node.js, web browsers, and Deno. It serves as a console output formatter and execution time profiler to help identify bugs and track program flow. The system manages debug visibility through named namespaces, allowing specific groups of messages to be enabled or disabled via environment variables. It distinguishes different modules in the output stream by assigning specific colors to these namespaces. The utility includes capabilities for measuri
Lightweight utility for logging debug information.
Icecream is a Python debugging utility designed for inspecting variable values and execution flow during development. It provides a variable inspector that automatically labels values and attaches file and line number metadata to each output. The tool features a builtins injector that adds debugging functions to the global namespace, allowing for universal access across all project files without manual imports. It also includes an inline debugging tool that returns its arguments to the caller, enabling the insertion of inspection calls directly into active expressions without altering program
Simple function for inspecting variables and execution.
Spyder is a scientific integrated development environment designed for scientific computing and interactive Python programming. It functions as a static analysis code editor and an interactive Python console, providing a specialized environment for writing and analyzing code for science and engineering. The platform distinguishes itself as an extensible development tool, utilizing a modular plugin architecture that allows for the addition of custom features or the embedding of core components into other software. It features a dedicated debugger and profiler for tracing code execution and mea
Implements a dedicated interactive debugger and profiler to trace code execution and identify performance bottlenecks.
pprof is a tool for visualizing and analyzing performance profiling data. It converts sampled call stacks into a directed graph rendered as an SVG, enabling visual identification of execution hotspots. The tool also parses Linux perf.data files, converting them into an internal profile representation for further analysis. Beyond visualization, pprof provides a command-line REPL for interactive exploration of profiling data, allowing users to filter, refine, and query performance information on the fly. It generates sorted text reports that highlight the most resource-intensive call stacks, an
Official performance profiling tool.
django-debug-toolbar is a developer tool that provides a browser-based set of diagnostic panels for inspecting HTTP requests and responses within a Django web application. It serves as a server-side diagnostics tool and web framework development suite, allowing developers to profile and inspect request-response cycles. The tool focuses on Django application troubleshooting, database optimization, and general web development. It enables the analysis of SQL queries and database performance to identify slow calls and reduce the number of requests per page. The software includes capabilities for
Debug information panel for Django.
This project is a PHP data inspector and variable renderer designed to visualize complex data structures in a human-readable format during development. It functions as a debugging tool that converts internal PHP variables into formatted text for analysis of property values and internal states. The tool provides custom data visualization by transforming raw PHP data into tailored styles. It allows for the routing of dump output to different destinations, including web browsers and command line interfaces. The system handles variable debugging by inspecting object properties and resource state
Dumps variables in a readable format.
gops es un conjunto de herramientas de diagnóstico de línea de comandos para monitorear, perfilar y gestionar el estado de ejecución de aplicaciones Go activas. Funciona como una herramienta de diagnóstico en tiempo de ejecución que proporciona una interfaz enfocada para analizar la memoria, perfilar el rendimiento y monitorear la salud de los procesos en ejecución. La herramienta proporciona un conjunto de utilidades especializadas, incluido un perfilador de rendimiento para capturar perfiles de CPU y heap, un analizador de memoria para identificar fugas y activar la recolección de basura, y un monitor de procesos para descubrir binarios en ejecución y visualizar jerarquías de procesos. El proyecto cubre una amplia gama de capacidades de diagnóstico, incluido el rastreo de ejecución en tiempo de ejecución, la captura de trazas de pila y el muestreo de uso de recursos. También incluye utilidades del sistema para la inspección de metadatos de procesos, resolución de rutas binarias y el monitoreo de métricas de tiempo de ejecución como conteos de hilos y estadísticas de memoria.
Tool for monitoring and debugging Go processes.
Larastan es una herramienta de análisis estático para PHP y una extensión especializada para PHPStan. Funciona como un analizador de código diseñado para detectar errores y problemas arquitectónicos en aplicaciones Laravel mediante el análisis del código fuente sin ejecutarlo. El proyecto proporciona conjuntos de reglas específicos del framework y una inferencia de tipos especializada para manejar los patrones y la lógica únicos del ecosistema Laravel. Esto permite una detección de errores y una verificación de tipos más precisas que las herramientas de análisis genéricas. La herramienta incluye sistemas para gestionar la deuda técnica de código heredado mediante el seguimiento de líneas base de errores y la supresión de errores basada en regex. Estas capacidades permiten identificar nuevas regresiones mientras se ignoran las violaciones existentes.
Integrates static analysis for code quality.
go-spew is a deep inspection library and debugging utility for Go. It functions as a data structure pretty printer that renders complex, nested types into human-readable strings with indentation and type information. The library provides specialized capabilities for visualizing internal program states, including the ability to dump data structures with pointer addresses and map keys. It includes a configuration system to adjust printing behavior, such as limiting recursion depth and setting indentation. The tool uses reflection-based type inspection and recursive tree traversal to handle nes
Pretty-prints variables for debugging.
The Missing Semester is a free, open-source educational curriculum designed to bridge the gap between theoretical computer science and the practical tooling every software engineer needs. Organized as a structured course, it covers Unix shell mastery, version control with Git, software debugging and profiling, system administration fundamentals, and computer security practices — the skills often left out of traditional degree programs. The project is maintained as a collaborative set of lecture notes, exercises, and guides that function as both a professional development tools course and a Uni
Diagnosing software issues using debuggers, logging, system call tracing, and performance profilers.
ExecuTorch is a lightweight C++ runtime for deploying PyTorch models on mobile, embedded, and edge hardware. It provides an ahead-of-time compilation pipeline that exports, quantizes, and lowers model graphs into compact serialized programs, then executes them through a minimal runtime with hardware acceleration and on-device large language model inference capabilities. The project distinguishes itself through a hardware accelerator delegate system that partitions model subgraphs and offloads computation to specialized backends including NPUs, GPUs, and DSPs from Apple, Arm, Intel, MediaTek,
Captures runtime execution traces and links them back to original source code for performance analysis and numerical validation.
Unreal.js is a JavaScript runtime and scripting layer for Unreal Engine that embeds the V8 engine to implement game logic and manage application state. It provides a bridge for writing high-level application behavior and actor control without modifying the core engine source code, as well as a framework for extending the Unreal Engine editor with custom interface elements. The project distinguishes itself through a V8-based integration that supports real-time code reloading and live iteration, allowing scripts to be updated without restarting the application. It includes a bidirectional commu
Supports inspecting execution and monitoring performance using any environment compatible with the V8 debugging protocol.
lensm is a binary analysis tool and Go disassembler interface designed for navigating disassembled machine code, tracking function calls, and inspecting executable metadata. It specifically functions as a Go assembly viewer that visualizes compiled binary instructions alongside their original source code. The project implements the Model Context Protocol to expose internal functions and source code as tools for external AI systems. This protocol-based analysis server enables the streaming of binary data and the management of server lifecycles to allow external tools to analyze logic. The sys
Compares assembly with source code.
Visualise Go runtime metrics in real time
Browser-based runtime statistics dashboard.