52 repositorios
Utilities for converting hierarchical stack data into delimited, line-based formats for visualization.
Distinct from Stacks: Distinct from Stacks: focuses on the serialization of trace data for visualization tools rather than general data structures.
Explore 52 awesome GitHub repositories matching software engineering & architecture · Stack Trace Formatters. Refine with filters or upvote what's useful.
Loguru is a Python logging library and thread-safe framework designed for recording system events and diagnostic messages. It functions as a structured logging tool that can serialize messages into JSON strings with metadata for automated parsing and analysis. The library includes a specialized exception tracker that captures unhandled crashes across main and background threads, rendering detailed stack traces that include local variable values. It further distinguishes itself through a unified routing pipeline that can intercept messages from the standard library logging module and dispatch
Renders detailed exception logs that include variable values within the stack trace for faster debugging.
Ava is a concurrent test runner for Node.js that executes test files in parallel using worker thread isolation to prevent global state leakage. It functions as a TAP-compliant tool, exporting results via the Test Anything Protocol for integration with external reporting systems. The framework distinguishes itself through a focus on execution speed and clarity, utilizing worker threads to run multiple test files simultaneously across CPU cores. It includes stack trace simplification to filter out internal framework noise and a value comparison utility that provides syntax-highlighted diffs for
Simplifies error logs by filtering out internal framework frames to highlight the exact line of code where a failure occurred.
Ava is a test runner for JavaScript and TypeScript designed to execute test suites with a focus on concurrency and isolation. It serves as a concurrent test executor that runs test files in parallel across multiple processes to reduce total runtime and prevent state leakage between suites. The project features a built-in snapshot testing framework that saves large data structures to disk and compares subsequent executions to detect regressions via diffs. It is also compatible with the Test Anything Protocol, allowing it to export results for use with external reporting tools. Its capability
Removes internal system noise from error logs to highlight the exact line of code causing a failure.
Bluebird is a JavaScript promise library designed for managing asynchronous operations with a custom promise implementation. It provides a framework for controlling promise lifecycles and orchestrating non-blocking programming patterns. The library distinguishes itself with an asynchronous debugging toolkit that captures long stack traces across asynchronous boundaries and a global handler for unhandled promise rejections. It includes a predicate-based error filtering system to target specific exception types and a mechanism for the deterministic cleanup of system resources. It covers a broa
Captures and filters detailed stack traces across asynchronous boundaries to identify root causes of failures.
FlameGraph is a performance profiling and visualization toolkit designed to identify bottlenecks in software execution. It functions as a processing engine that transforms raw stack trace samples into interactive, hierarchical diagrams. By representing aggregated execution frequency as nested rectangles, the tool allows developers to visualize hot code paths and analyze system behavior across both kernel and user-space environments. The project distinguishes itself through its ability to perform differential profile analysis, which highlights performance regressions or improvements by compari
Formats hierarchical stack trace data into a single-line, delimited string structure for flame graph generation.
This project is a secure container runtime that provides strong isolation for application workloads by implementing a userspace kernel. By intercepting system calls and executing them within a memory-safe, restricted environment, it minimizes the attack surface exposed to the host kernel. It functions as a drop-in engine for standard container orchestration platforms, ensuring compatibility with industry-standard runtime specifications while maintaining a hardened execution boundary. The runtime distinguishes itself through its ability to virtualize core system resources, including an indepen
Collects and outputs stack traces from running sandbox processes to assist in troubleshooting.
ioredis is a performance-focused Redis client for Node.js designed to execute commands and manage data connections. It provides a specialized interface for interacting with standalone servers, sharded clusters, and high-availability setups. The library distinguishes itself with native support for Redis Cluster, featuring automatic slot discovery and network address mapping, and Redis Sentinel for master node discovery and automatic failover. It also includes a dedicated Lua scripting interface that utilizes server-side caching to ensure atomic operations. The project covers a broad set of ca
Filters internal system noise from error stack traces to pinpoint the exact line of server-side failures.
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
Provides specialized tools to reconstruct long stack traces across asynchronous jumps for easier debugging of promise chains.
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
Parses PHP exception traces into structured frame objects to retrieve file paths and surrounding source code.
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
Uses stack trace inspection to automatically extract filename, line number, and calling function for each log.
pwndbg is a GDB plugin and binary analysis framework designed for reverse engineering, exploit development, and low-level program analysis. It extends the core functionality of the debugger to provide advanced memory inspection and automation tools. The project distinguishes itself with specialized capabilities for heap analysis across glibc, jemalloc, and musl, as well as a comprehensive kernel debugging toolkit for inspecting Linux kernel tasks and slab allocators. It includes an integrated ROP gadget searcher for constructing exploit chains and an LLM-powered debugging assistant that provi
Displays the contents of signal return frames to analyze saved CPU state during execution.
This project is a JavaScript error tracking SDK and application performance monitoring tool. It captures runtime exceptions and crashes across web browsers, server-side environments, and edge computing contexts. The SDK includes a session replay tool that records visual user interactions to reproduce bugs. To ensure telemetry delivery, it provides a tunneling proxy that routes monitoring data through custom endpoints to bypass browser-level ad blockers. The toolkit also features a source map processor that translates minified stack traces back into original source code. Additionally, it cove
Translates compressed stack traces into original source code by processing uploaded source maps.
Chai is an assertion library for Node.js and browser-based JavaScript applications. It functions as both a behavior-driven development and test-driven development framework, providing a system to verify code outputs, application state, and general logic. The project is an extensible validation engine that uses a plugin-based system to allow the registration of custom assertions and specialized data checks. It supports multiple modular assertion styles to accommodate different validation philosophies. The library covers a broad range of data validation capabilities, including the inspection o
Controls how errors appear by toggling stack traces and limiting characters displayed for long values.
pkg/errors is a Go library that provides primitives for creating, annotating, and inspecting errors with stack traces and contextual information. Its core identity centers on capturing the call stack at the point of error creation or wrapping, preserving that information for later debugging and root cause analysis. The library distinguishes itself through a set of tightly integrated capabilities for error handling. It supports wrapping errors with descriptive messages while recording a new stack trace at the wrapping point, annotating existing errors with either a message or a stack trace ind
Ships error formatting that prints stack traces conditionally via Go's fmt formatting verbs.
HybridCLR is a hybrid C# execution engine and assembly loader designed for Unity. It provides a system for hot-updating C# logic across all platforms at runtime without requiring the application to be rebuilt or reinstalled. The project is distinguished by its mixed-mode execution, which runs unmodified code at native speed while using a high-performance interpreter for updated functions. It includes a generic type resolver that allows hot-updated code to use generic classes and functions regardless of whether they were pre-instantiated in the main binary. To protect proprietary source code,
Injects detailed virtual stack information into crash logs to pinpoint errors within interpreted 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
Removes noise from performance reports by excluding specific library or system frames using glob pattern matching.
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
Transforms complex data structures into a readable format to quickly analyze variable contents during development.
Bullet is an Active Record performance monitor and query profiler for Ruby on Rails applications. It serves as a diagnostic utility to identify inefficient database access patterns, flag redundant requests, and suggest eager loading strategies to improve response times. The tool specifically detects N+1 queries, missing counter caches, and unused eager loading. It monitors these patterns across both standard web requests and background jobs, identifying records that are fetched but never accessed to reduce memory usage and query overhead. Analysis is supported by a system that intercepts dat
Analyzes the Ruby call stack for each query to determine if it matches a user-defined ignore list.
Consola is a diagnostic logging utility and log output manager that provides a unified interface for Node.js and web browser environments. It functions as a scoped logging framework and a tool for capturing user text, confirmations, and selections through interactive console prompts. The project distinguishes itself through a system for creating specialized logger instances with inherited defaults and unique tags for contextual tracking. It also features a pluggable reporter interface that allows for the redirection of standard output to custom logging destinations and external reporters. Th
Includes a utility to capture and format error stack traces to identify the origin of failures.
The Symfony Debug component is a PHP debugging toolkit that converts PHP warnings and notices into exceptions for consistent runtime error handling. It provides a unified error management system by registering a global error handler that intercepts all PHP errors and forwards them to an exception-based pipeline. The component catches uncaught PHP exceptions and displays detailed stack traces enriched with file, line, and call chain context for developer visibility. It maps PHP error severity levels to corresponding exception types, enabling granular control over how different error conditions
Augments exception stack traces with file, line, and call chain details for debugging.