awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
brendangregg avatar

brendangregg/perf-tools

0
View on GitHub↗
10,434 stars·1,665 forks·Shell·GPL-2.0·16 views

Perf Tools

This project is a specialized toolset for profiling kernel latency, analyzing tracepoint frequency, and monitoring system-wide performance data. It functions as a kernel performance profiler, tracepoint analyzer, and a collection of utilities for the Linux ftrace and perf_events subsystems.

The toolkit provides high-level abstractions via shell-scripted wrappers to manage complex kernel tracing interfaces. It distinguishes itself through the use of bucket-based event histograms to visualize the distribution of kernel events and the ability to identify functions exceeding specific latency thresholds using a function graph profiler.

The capability surface covers several diagnostic domains, including disk I/O latency and request size analysis, network TCP retransmission tracing, and page cache hit and miss monitoring. It also includes tools for dynamic instrumentation via kprobes and uprobes, as well as process tracking for system calls, signal delivery, and execution.

Features

  • Kernel Event Tracers - Implements non-intrusive instrumentation frameworks for capturing system-wide kernel events and function execution data via ftrace.
  • Network and Execution Tracing - Captures and analyzes network traffic and system calls to monitor block I/O and process execution in real time.
  • Kernel Tracepoint Histograms - Creates summaries of tracepoint variables inside the kernel using multiple counting points and configurable bucket ranges.
  • Kernel Event Analyzers - Aggregates tracepoint data into histograms and summaries to analyze the frequency of specific kernel events.
  • Ftrace Utilities - Provides a set of tools for tracing kernel events, function calls, and system behavior via ftrace.
  • Event Aggregators - Provides utilities to summarize kernel event data into histograms and frequency maps for distribution analysis.
  • Performance Counter Sampling - Collects system performance data by sampling hardware and software counters using the Linux perf_events subsystem.
  • Kernel Tracing Frameworks - Records executions of kernel functions matching wildcards and filters them by process or thread ID to analyze behavior.
  • Kernel Execution Profilers - Visualizes kernel-level timing and resource usage to identify system bottlenecks using perf and ftrace.
  • System Call Tracing - Provides real-time monitoring of kernel system calls, including arguments and return values.
  • Event Distribution Histograms - Generates distributions of tracepoint variables using configurable bucket sizes to analyze the frequency of specific kernel events.
  • Function Latency Tracing - Identifies kernel functions exceeding a specific latency threshold using a function graph profiler to find bottlenecks.
  • Dynamic Kernel Probes - Ships tools that attach to live kernel functions by patching binary code to capture real-time events.
  • Linux Performance Analysis - Offers a collection of scripts for analyzing performance metrics and profiling kernel functions on Linux.
  • User-Space Function Tracing - Instruments specific memory addresses in user-space binaries to monitor function calls without modifying executables.
  • Page Cache Analysis - Tracks cache hit and miss statistics by profiling kernel functions for page accesses, writes, and additions.
  • Page Cache Profiling - Profiles page cache hits and misses to evaluate memory efficiency and filesystem performance.
  • I/O Latency Tracers - Captures block-level events to monitor process IDs, request types, device offsets, and latencies.
  • TCP Packet Drop Analysis - Identifies and diagnoses the causes of TCP packet drops and retransmissions to analyze network instability.
  • Retransmission Tracing - Monitors packet retransmits and loss probes to provide details on process IDs and socket states.
  • System Call Aggregators - Aggregates the number of system calls executed across the system or by specific processes for a set duration.
  • Signal Delivery Tracing - Monitors system calls to identify which process sends signals to which ID and records the operation result.
  • Memory Access Profilers - Profiles memory access patterns and page cache statistics to detect performance bottlenecks.
  • Static Tracepoint Filtering - Enables specific kernel tracepoints to print live events and stack traces filtered by process or thread ID.
  • Function Call Counters - Tracks how often specific kernel functions execute over a set time interval to identify high-traffic events.
  • Process Lifecycle Tracing - Monitors the execution of new processes and their arguments to capture short-lived tasks.
  • Disk I/O Performance Analysis - Analyzes block device latency and request sizes to diagnose storage bottlenecks and queuing delays.
  • System Diagnostics - Performance analysis tools based on Linux perf and ftrace.
  • Command Line Tools - Listed in the “Command Line Tools” section of the The Book Of Secret Knowledge awesome list.
  • System Performance Tools - Collection of performance analysis tools using ftrace and perf.
  • System Profiling Tools - Performance analysis based on Linux perf and ftrace.

Star history

Star history chart for brendangregg/perf-toolsStar history chart for brendangregg/perf-tools

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does brendangregg/perf-tools do?

This project is a specialized toolset for profiling kernel latency, analyzing tracepoint frequency, and monitoring system-wide performance data. It functions as a kernel performance profiler, tracepoint analyzer, and a collection of utilities for the Linux ftrace and perf_events subsystems.

What are the main features of brendangregg/perf-tools?

The main features of brendangregg/perf-tools are: Kernel Event Tracers, Network and Execution Tracing, Kernel Tracepoint Histograms, Kernel Event Analyzers, Ftrace Utilities, Event Aggregators, Performance Counter Sampling, Kernel Tracing Frameworks.

Which projects share features with brendangregg/perf-tools?

Projects with overlapping indexed features include: iovisor/bcc — BCC is an eBPF development toolkit and tracing framework used for monitoring and analyzing the Linux kernel. It… brendangregg/flamegraph — FlameGraph is a performance profiling and visualization toolkit designed to identify bottlenecks in software… bpftrace/bpftrace — bpftrace is a high-level eBPF tracing tool and kernel instrumentation framework for Linux. It provides a tracing… iovisor/bpftrace — bpftrace is a dynamic instrumentation tool and high-level tracing language for eBPF. It functions as a Linux kernel… cilium/tetragon — Tetragon is an eBPF-based runtime security and observability toolset designed for Linux and Kubernetes environments.… google/perfetto — Perfetto is a platform for system-level performance tracing and analysis on Linux and Android. It combines a…

Projects sharing features with Perf Tools

These projects share indexed features with Perf Tools. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • iovisor/bcciovisor avatar

    iovisor/bcc

    22,459View on GitHub↗

    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

    C
    View on GitHub↗22,459
  • brendangregg/flamegraphbrendangregg avatar

    brendangregg/FlameGraph

    19,307View on GitHub↗

    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

    Perl
    View on GitHub↗19,307
  • bpftrace/bpftracebpftrace avatar

    bpftrace/bpftrace

    9,950View on GitHub↗

    bpftrace is a high-level eBPF tracing tool and kernel instrumentation framework for Linux. It provides a tracing language to instrument kernel and user-space events without recompiling the system, functioning as a dynamic system profiler and event aggregator. The project enables dynamic system tracing and Linux kernel observability by capturing tracepoints and dynamic probes in real time. It allows for kernel data inspection and runtime process debugging by accessing internal data structures and filtering specific process events. Its capability surface covers system performance analysis, inc

    C++bccbpfebpf
    View on GitHub↗9,950
  • iovisor/bpftraceiovisor avatar

    iovisor/bpftrace

    10,169View on GitHub↗

    bpftrace is a dynamic instrumentation tool and high-level tracing language for eBPF. It functions as a Linux kernel tracer and user-space profiler used to analyze live software behavior through the on-the-fly insertion of tracing and logging probes. The tool enables the collection of real-time data from the Linux kernel and applications to diagnose issues on live production systems. It intercepts user-level events using uprobes and USDT to debug and profile applications without modifying the original source code. The project covers system observability and performance analysis by monitoring

    C++
    View on GitHub↗10,169
Compare all 30 related projects→