5 dépôts
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 est une interface utilisateur graphique pour analyser et visualiser les données de performance capturées par l'outil Linux perf. Il fonctionne comme un visualiseur de profilage de performance et un profileur au niveau de l'assembleur qui mappe les coûts de performance à des instructions spécifiques synchronisées avec le code source original. Le projet se distingue par un résolveur de symboles distant qui mappe les données de performance des cibles embarquées vers les symboles de debug de l'hôte local et les sysroots. Il inclut également un outil d'analyse off-CPU spécialisé conçu pour identifier les temps d'attente des threads et les blocages I/O en utilisant les tracepoints du planificateur du noyau. L'outil couvre un large éventail de capacités d'analyse de performance, incluant le profilage CPU, l'inspection de code bas niveau et le filtrage de données basé sur la chronologie. Il fournit des méthodes de visualisation telles que les flame graphs et les call graphs pour identifier les goulots d'étranglement du système et les fonctions inlinées. Le système supporte l'enregistrement de données en lançant des outils de profilage pour de nouvelles applications ou en s'attachant à des processus existants, et permet l'export des profils de performance analysés dans des formats portables pour un partage inter-machines.
Detects I/O blocks and lock contention by tracking the time threads spend in non-running states via kernel tracepoints.
Ce projet est une ressource éducative fournissant un tutoriel de développement complet pour écrire et charger des programmes eBPF en utilisant C, Go et Rust au sein du noyau Linux. Il sert de guide technique pour développer une logique personnalisée à exécuter directement dans le noyau. Les matériaux couvrent des domaines spécialisés, notamment l'observabilité et le traçage du noyau, l'implémentation de la sécurité pour la détection d'intrusion et l'ingénierie réseau haute performance pour le filtrage de paquets et l'équilibrage de charge. Il inclut également des manuels dédiés pour le traçage du noyau Linux et l'utilisation de kprobes, uprobes et tracepoints. Le projet englobe un large éventail de domaines de capacités, tels que l'instrumentation du noyau, la surveillance et l'observabilité du système, l'analyse réseau et l'application de la sécurité. Il s'étend en outre au débogage au niveau matériel pour les GPU et les pilotes, ainsi qu'à la manipulation système de bas niveau et à la gestion des ressources.
Measures thread wait times between scheduler events to identify blocking bottlenecks.