27 repositorios
Mechanisms for extracting active execution frames to identify the source code location of a call.
Distinct from Call Stack Navigators: Focuses on capturing the call site for logging purposes rather than general interactive stack navigation.
Explore 27 awesome GitHub repositories matching development tools & productivity · Runtime Call-Stack Capturers. Refine with filters or upvote what's useful.
Logrus is a structured logging library for Go that produces machine-readable output using key-value pairs and JSON formatting. It serves as a pluggable logging framework providing a thread-safe event logger with configurable mutex locking to manage concurrent writes across multiple goroutines. The project distinguishes itself through a pluggable hook system that routes log entries to external services or custom destinations. It also features a contextual logger capable of attaching persistent metadata and request-scoped fields to entries to improve traceability. The framework covers broad ob
Inspects the execution stack at runtime to capture the filename and line number of the calling function.
This project is a comprehensive educational resource and programming course covering C++ language semantics and features from C++03 through C++26. It provides structured tutorials and technical guides focused on modern C++ development. The material offers specialized instruction on template metaprogramming, including the use of type traits and compile-time computations. It features detailed guides on concurrency and parallelism for multi-core execution, as well as a reference for software design applying SOLID principles and RAII. Additionally, it covers build performance optimization to redu
Provides guidance on capturing and interpreting runtime call stacks to diagnose program crashes.
q is a JavaScript promise library and asynchronous flow controller designed to manage non-blocking operations. It serves as a system for coordinating parallel tasks and sequencing asynchronous workflows through task chaining and error propagation. The library distinguishes itself with specialized debugging tools that capture long stack traces across asynchronous jumps and monitor unhandled rejections to prevent silent failures. It also functions as a remote object proxy, forwarding method calls to remote targets and routing responses back through promises. The project provides comprehensive
Rewrites error stacks to trace asynchronous jumps and preserve the call site across event loop turns.
Pinpoint is a distributed application performance monitoring and tracing system. It functions as an application performance monitor and topology visualizer designed to analyze the execution behavior of large-scale distributed applications. The system uses bytecode instrumentation to monitor applications without requiring changes to the original source code. It captures call stacks and request flows across interconnected services to visualize system dependencies and generate real-time architectural maps of communication patterns. The platform covers a broad range of observability capabilities
Captures runtime call stacks and transaction flows across services to analyze execution paths.
gperftools is a collection of specialized tools for profiling CPU usage, detecting memory errors, and providing high-performance memory allocation. It provides a memory profiling toolkit for C++ applications, including a sampling CPU profiler and a heap profiler for analyzing consumption patterns. The project includes a high-performance memory allocator designed as a multi-threaded replacement for standard allocation to reduce contention and improve execution speed. It further provides a memory debugger to identify illegal memory access and double frees. The toolkit covers broad diagnostic c
Captures active execution frames to map memory allocations and performance hotspots to specific source code locations.
snacks.nvim is a comprehensive collection of quality-of-life plugins and utilities designed to extend the core functionality of Neovim. It serves as a multi-purpose toolkit providing a UI framework, navigation enhancements, and integrations with external services. The project distinguishes itself by combining a wide array of specialized tools into a single suite, including a picker-based file explorer, a deep GitHub integration for managing issues and pull requests, and a set of development utilities for profiling Lua performance and inspecting code execution. Its broader capability surface
Generates a formatted notification showing the stack trace of the current execution point.
VizTracer is a Python runtime instrumentation system and execution profiler used to trace and visualize code execution. It functions as a multi-process performance analyzer and trace visualizer, providing an interactive timeline and flamegraph interface to identify performance bottlenecks and analyze call sequences. The project distinguishes itself by its ability to aggregate execution data from multiple threads, subprocesses, and asynchronous tasks into a single unified report. It also features live process instrumentation, allowing users to attach to and detach from running Python applicati
Logs function arguments, return values, and variable attributes dynamically without requiring modifications to the source code.
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
Captures the runtime call stack to identify the source of execution delays.
glog is a C++ logging framework designed for recording application events and system diagnostics. It provides a stream-based interface for capturing debugging information and managing system event persistence. The library includes a stack trace logger that captures execution call stacks and resolves memory addresses into readable function names. It also features a dedicated error handling module to manage system shutdown and reporting during fatal failures. Log lifecycle management is handled through automatic rotation and deletion of old files to prevent disk space exhaustion. The framework
Captures active execution frames and resolves raw memory addresses into human-readable function names.
Este proyecto es un framework y biblioteca de registro estructurado para aplicaciones Node.js. Produce registros de log legibles por máquina en formato JSON con niveles de severidad escalonados, asegurando un análisis consistente y almacenamiento centralizado. El sistema incluye un gestor de flujos de registro para enrutar registros a múltiples destinos, como archivos y consolas, y una interfaz de línea de comandos para filtrar, formatear y visualizar flujos de registro JSON crudos. Admite la creación de registradores hijos que heredan configuraciones del padre y fusionan metadatos contextuales adicionales. El framework cubre una amplia gama de capacidades operativas, incluyendo la rotación de archivos basada en tiempo para la gestión de disco, búferes circulares en memoria para la recuperación post-mortem y la exposición de eventos de registro internos como sondas DTrace para la observación del runtime en tiempo real. También proporciona introspección dinámica del sitio de llamada para adjuntar metadatos de ubicación de origen a los registros.
Extracts filename and line number from the execution stack to provide source location metadata.
Walk is a comprehensive framework for building native Windows desktop applications. It functions as a GUI library and Windows API wrapper, providing a toolkit of native widgets and a declarative layout system for developing high-performance user interfaces. The project is distinguished by its data-binding framework, which uses reflection and string-based property paths to synchronize data sources with interface widgets. It also provides specialized support for high-DPI interface scaling and an optimized native message loop to reduce runtime overhead. The toolkit covers a wide range of capabi
Attaches execution stack traces to errors to simplify the debugging of interface failures.
This project is a learning guide and collection of study notes designed to teach Node.js backend development. It provides a comprehensive core API reference and practical demonstrations for implementing server-side logic, network programming, and system APIs. The guide specifically covers advanced technical domains including process management for scaling applications via clusters and child processes, as well as network programming for building TCP, UDP, and HTTP services. It also includes detailed instructional material on security implementation, focusing on cryptographic hashing and encryp
Includes utilities to print the current execution stack to identify function call sequences.
This project is a comprehensive technical guide and diagnostic manual for analyzing memory, performance, and asynchronous behavior within Node.js applications. It provides detailed methods for asynchronous tracing, memory diagnostics, and performance analysis to resolve runtime errors and execution bottlenecks. The resource distinguishes itself by covering advanced diagnostic workflows, including the use of flame graphs for CPU profiling, the capture and comparison of heap snapshots for memory leak detection, and the mapping of asynchronous call stacks. It also provides technical guidance on
Implements techniques for recreating continuous call stacks across asynchronous execution boundaries to resolve timing and concurrency issues.
btrace es una herramienta de rastreo dinámico y perfilador de rendimiento para JVM, utilizada para inyectar scripts de instrumentación seguros en una Máquina Virtual Java en ejecución sin requerir el reinicio del proceso. Funciona como un framework de agente Java y un servidor de Model Context Protocol, exponiendo operaciones de diagnóstico de JVM y herramientas de rastreo a modelos de lenguaje grandes y asistentes de IA. El proyecto se distingue por permitir la inyección de código en tiempo real y la instrumentación a nivel de bytecode mediante un protocolo binario seguro. Garantiza la estabilidad en producción a través de un motor de análisis de seguridad estática que bloquea patrones de código inestables, como bucles y asignaciones, durante la fase de compilación del script. El sistema cubre una amplia gama de capacidades de observabilidad, incluyendo el rastreo de ejecución de métodos, el seguimiento de asignación de objetos y el monitoreo de acceso a campos. Proporciona perfiles de rendimiento mediante métricas de latencia y muestreo de datos de ejecución, y puede emitir eventos personalizados de Java Flight Recorder para análisis nativo. El agente admite estrategias de despliegue flexibles, incluyendo el arranque al inicio o la conexión a procesos en vivo en entornos contenedorizados utilizando paquetes fat JAR.
Captures active execution frames to identify the sequence of method calls leading to an event.
Captures call stack, memory usage, and performance data from the runtime stack buffer when enabled.
Este es un framework de logging para Node.js basado en la arquitectura de log4j. Proporciona un sistema para gestionar loggers jerárquicos y umbrales de severidad, permitiendo que los eventos de la aplicación sean registrados y categorizados a través de diferentes niveles de importancia. El framework se distingue por su logging consciente de clusters, que sincroniza y coordina la salida a través de múltiples clusters de procesos en un flujo unificado. También incluye un gestor de rotación de archivos de log dedicado que rota automáticamente los archivos por fecha o tamaño para prevenir el agotamiento del espacio en disco, y un transportador de logs de red para enviar datos a servidores remotos vía TCP o UDP. El proyecto cubre amplias capacidades de observabilidad, incluyendo captura de stack trace para depuración y la capacidad de enrutar datos de log a múltiples destinos como la consola, archivos locales o servicios de red externos. Soporta formato de log estructurado a través de patrones de salida personalizados y gestiona el volumen de diagnóstico mediante la gestión de niveles y rutas basada en categorías.
Extracts caller information from the execution stack to provide detailed source code locations for debugging.
re-frame es un framework funcional para construir aplicaciones de una sola página (SPA) en ClojureScript. Proporciona una base de datos centralizada e inmutable que sirve como única fuente de verdad para todo el estado de la aplicación, aplicando un flujo de datos unidireccional estricto donde los eventos activan transiciones de estado y actualizaciones de vista posteriores. El framework se distingue por un grafo de señales reactivas y un pipeline de middleware basado en interceptores. Al tratar la lógica de la aplicación como una secuencia de eventos basados en datos y efectos secundarios declarativos, desacopla la lógica de negocio de la capa de vista. Esta arquitectura permite a los desarrolladores gestionar transiciones de estado complejas y operaciones externas mediante funciones puras, asegurando que los efectos secundarios sean ejecutados por un intérprete separado en lugar de llamadas imperativas. El sistema incluye un conjunto completo de capacidades para gestionar la arquitectura de la aplicación, incluyendo la derivación de datos reactivos, la reconciliación de vistas basada en suscripciones y la gestión de estado impulsada por eventos. Admite flujos de trabajo de desarrollo avanzados como el rastreo de eventos, puntos de control de estado y la capacidad de crear stubs de efectos secundarios para pruebas aisladas. El proyecto está diseñado para integrarse con React, utilizando la reconciliación del DOM virtual para actualizar eficientemente las interfaces de usuario. Proporciona un conjunto robusto de utilidades para manejar preocupaciones transversales, gestionar grafos de flujo de datos complejos y coordinar operaciones asíncronas dentro de un pipeline de eventos secuencial y predecible.
Attaches file and line number information to dispatched events and queries in debug builds to identify the source of triggers.
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
Perfetto samples callstacks triggered by performance counter events and unwinds them without instrumentation.
Este proyecto es una traducción al chino de una guía completa sobre el lenguaje de programación Go. Sirve como un recurso educativo localizado y un manual técnico diseñado para proporcionar orientación sobre la sintaxis del lenguaje, su diseño y el desarrollo de software. El recurso cubre una amplia gama de educación sobre el lenguaje Go, incluida la implementación de patrones de programación y diseño de sistemas. Incluye lecciones traducidas y ejemplos que se centran en características principales del lenguaje como la concurrencia y el uso de interfaces. El contenido abarca varias áreas de capacidad, incluidos los fundamentos del lenguaje, modelado de datos, reflexión en tiempo de ejecución y gestión de memoria. También proporciona una cobertura detallada de la arquitectura de software, manejo de errores, control de calidad y redes web. La documentación está estructurada como un manual técnico que incluye contenido traducido, erratas y correcciones para garantizar un aprendizaje preciso.
Explains how to capture the current function call hierarchy to diagnose runtime failures.
Bytehound es un perfilador de memoria para Linux que utiliza un asignador global personalizado para interceptar solicitudes de memoria y rastrear asignaciones y desasignaciones. Registra trazas completas de la pila de llamadas para cada operación de memoria para mapear las asignaciones de vuelta a su código fuente original. El proyecto cuenta con un sistema de perfilado de memoria remoto que transmite datos de captura a través de sockets de red a una máquina separada, minimizando la sobrecarga de recursos en el sistema de destino. El análisis es compatible con un lenguaje de consulta específico del dominio utilizado para automatizar la detección de patrones y anomalías de memoria. La herramienta cubre el análisis de asignación de heap para identificar fugas y fragmentación, así como la introspección en tiempo de ejecución para monitorear y ajustar los estados del asignador. Los datos pueden exportarse y renderizarse a través de un visualizador basado en web para proporcionar representaciones gráficas del uso de la memoria y los patrones de asignación.
Captures full call-stack traces for every memory operation to map allocations back to their originating source code.