5 repositorios
Profiling tools that measure time spent by threads waiting for resources to identify blocking bottlenecks.
Distinct from CPU Profilers: Distinct from CPU Profilers: focuses on wait-time analysis for blocked threads rather than active processor execution time.
Explore 5 awesome GitHub repositories matching development tools & productivity · Off-CPU Latency Analyzers. Refine with filters or upvote what's useful.
BCC is an eBPF development toolkit and tracing framework used for monitoring and analyzing the Linux kernel. It functions as a performance analysis tool and debugging utility to capture system events, measure kernel latency, and provide network observability. The project distinguishes itself by providing a build system that integrates with LLVM to compile C-like code into BPF bytecode at runtime. It utilizes BPF Type Format data for relocations to maintain cross-kernel compatibility and extracts kernel headers to ensure the generated programs match the specific kernel version. The toolkit co
Measures the duration threads spend in a blocked state and captures the associated stack traces.
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
Profiles thread execution states to visualize time spent waiting for locks or input-output operations to resolve application blocking issues.
CRI-O is an open-source container runtime that implements the Kubernetes Container Runtime Interface (CRI) to manage container images, pods, and containers on cluster nodes using OCI-compatible runtimes. It serves as a node-level container manager that handles image pulling, container lifecycle, and resource monitoring for Kubernetes clusters, running containers according to the Open Container Initiative specifications. The runtime distinguishes itself through live configuration reloading that applies changes to runtime definitions, registry mirrors, and TLS certificates without restarting th
Controls CPU idle states by enabling, disabling, or limiting them to a maximum wake-up latency in microseconds.
Hotspot es una interfaz gráfica de usuario para analizar y visualizar datos de rendimiento capturados por la herramienta perf de Linux. Funciona como un visualizador de perfiles de rendimiento y un perfilador a nivel de ensamblador que mapea los costos de rendimiento a instrucciones específicas sincronizadas con el código fuente original. El proyecto se distingue por un resolvedor de símbolos remoto que mapea datos de rendimiento de objetivos integrados a símbolos de depuración y sysroots del host local. También incluye una herramienta especializada de análisis fuera de CPU diseñada para identificar tiempos de espera de hilos y bloqueos de E/S utilizando puntos de seguimiento del planificador del kernel. La herramienta cubre una amplia gama de capacidades de análisis de rendimiento, incluyendo perfilado de CPU, inspección de código de bajo nivel y filtrado de datos basado en línea de tiempo. Proporciona métodos de visualización como gráficos de llama (flame graphs) y gráficos de llamadas para identificar cuellos de botella del sistema y funciones en línea. El sistema admite la grabación de datos lanzando herramientas de perfilado para nuevas aplicaciones o adjuntándose a procesos existentes, y permite exportar perfiles de rendimiento analizados a formatos portátiles para compartir entre máquinas.
Detects I/O blocks and lock contention by tracking the time threads spend in non-running states via kernel tracepoints.
Este proyecto es un recurso educativo que proporciona un tutorial de desarrollo integral para escribir y cargar programas eBPF utilizando C, Go y Rust dentro del kernel de Linux. Sirve como una guía técnica para desarrollar lógica personalizada para ejecutar directamente en el kernel. Los materiales cubren dominios especializados incluyendo observabilidad y rastreo del kernel, implementación de seguridad para detección de intrusiones e ingeniería de red de alto rendimiento para filtrado de paquetes y balanceo de carga. También incluye manuales dedicados para el rastreo del kernel de Linux y el uso de kprobes, uprobes y tracepoints. El proyecto abarca una amplia gama de áreas de capacidad, como instrumentación del kernel, monitoreo y observabilidad del sistema, análisis de red y aplicación de seguridad. Además, se extiende a la depuración a nivel de hardware para GPUs y controladores, así como a la manipulación de sistemas de bajo nivel y gestión de recursos.
Measures thread wait times between scheduler events to identify blocking bottlenecks.