bcc
by
iovisor

Description: BCC - Tools for BPF-based Linux IO analysis, networking, monitoring, and more

View iovisor/bcc on GitHub ↗

Summary Information

Updated 23 minutes ago
Added to GitGenius on April 18th, 2026
Created on May 1st, 2015
Open Issues/Pull Requests: 1,062 (+0)
Number of forks: 4,044
Total Stargazers: 22,365 (+0)
Total Subscribers: 540 (+0)

Issue Activity (beta feature)

Open issues: 170
New in 7 days: 12
Closed in 7 days: 0
Avg open age: 912 days
Stale 30+ days: 166
Stale 90+ days: 150

Recent activity

Opened in 7 days: 11
Closed in 7 days: 0
Comments in 7 days: 1
Events in 7 days: 3

Top labels

  • help wanted (5)
  • documentation (4)
  • enhancement (4)
  • good first issue (3)
  • bug (2)
  • prio:high (2)
  • new option (1)
  • new tool (1)

Detailed Description

BCC (BPF Compiler Collection) is a powerful toolkit designed for in-depth analysis, monitoring, and manipulation of Linux systems, leveraging the capabilities of eBPF (extended Berkeley Packet Filters). Its primary function is to provide a user-friendly environment for creating efficient kernel tracing and instrumentation programs. By utilizing eBPF, BCC allows developers to inject custom bytecode into the kernel, enabling real-time monitoring and manipulation without the risk of system crashes or instability. This is achieved through the ability to attach eBPF programs to various kernel probes, offering a safe and flexible way to observe and modify kernel behavior.

The core feature of BCC is its ability to simplify the process of writing eBPF programs. It provides a C-based kernel instrumentation language, complete with a C wrapper around LLVM (Low Level Virtual Machine) for compilation, and front-end interfaces in Python and Lua. This multi-language support makes BCC accessible to a wider range of developers, allowing them to choose the language they are most comfortable with. This abstraction layer significantly reduces the complexity of working directly with eBPF, making it easier to create sophisticated tracing and monitoring tools.

BCC's capabilities extend to a wide array of tasks, including performance analysis, network traffic control, and system-level debugging. The toolkit includes a rich collection of pre-built tools and examples that demonstrate its versatility. These examples cover various aspects of system behavior, such as disk I/O, network connections, process creation, and memory allocation. The provided tools offer immediate value for system administrators and developers, allowing them to quickly diagnose performance bottlenecks, identify security issues, and gain deeper insights into system operations.

The repository is structured to provide a comprehensive set of tools and examples. The "Tracing" section contains numerous examples that showcase how to trace various kernel functions and events, such as block device I/O latency, MySQL queries, and network connections. The "Tools" section offers a wide range of ready-to-use utilities for tasks like tracing syscalls, analyzing CPU usage, monitoring network traffic, and detecting memory leaks. These tools are categorized by their function, making it easier for users to find the specific functionality they need.

The purpose of BCC is to empower users with the ability to understand and optimize their Linux systems. By providing a user-friendly interface to eBPF, BCC democratizes the process of kernel tracing and instrumentation. It allows developers and system administrators to create custom tools tailored to their specific needs, enabling them to gain deeper insights into system behavior and identify performance bottlenecks. The toolkit's focus on efficiency and safety ensures that the instrumentation process does not negatively impact system performance or stability. The extensive documentation, including installation guides, FAQs, and a comprehensive reference guide, further supports users in effectively utilizing the toolkit's features. In essence, BCC serves as a bridge, connecting the power of eBPF with the practical needs of system analysis and optimization.

bcc
by
iovisoriovisor/bcc

Repository Details

Fetching additional details & charts...