FREEDOM251

Freedom251 › eBPF Observability Tools

BCC

Free plan LinuxSelf-hosted

Visit BCC Alternatives Pricing

BCC's own site

What BCC is

BCC is a toolkit for building programs that trace and manipulate the Linux kernel through eBPF. It is intended for self-hosted use, with performance analysis and network traffic control among its use cases. Kernel instrumentation is written in C, and Python and Lua front ends are available. Its workflow uses a shared library and an LLVM BPF backend for just-in-time compilation, with support for dynamically loading and unloading compiled programs. BCC can work with socket filters, tc classifiers and actions, and kprobes. The project also includes standalone utilities for observing a running system, with examples related to disk I/O, processes, network activity, and filesystems.

The installation guide generally calls for Linux kernel 4.1 or later and particular kernel configuration options. It provides package or installation guidance for Debian, Ubuntu, Fedora, Arch, Gentoo, openSUSE, RHEL, Amazon Linux, Alpine Linux, and WSL. Ubuntu Universe and iovisor BCC packages are described as outdated; the guide points to building from source for an up-to-date packaged version. BCC is free under Apache-2.0. Its README describes eBPF programs as sandboxed bytecode run by the kernel and says loaded BPF programs cannot crash or run forever. Project discussion and help are available through the GitHub issue tracker, IOVisor mailing list, and #iovisor IRC channel.

Who it suits

BCC suits Linux users who need to create kernel tracing or manipulation programs for performance analysis or network traffic control. It is also a fit for people seeking command-line tools to inspect disk, process, network, or filesystem activity on a running system.

What it does well

  • Free to use under the Apache-2.0 license.
  • Provides instrumentation in C with Python and Lua front ends.
  • Supports socket filters, tc classifiers and actions, and kprobes.
  • Includes tracing tools for disk I/O, processes, networking, and filesystems.
  • Installation guidance covers multiple Linux distributions and WSL.

What to know first

  • Requires Linux kernel 4.1 or newer in general.
  • Specified kernel configuration options are also required.
  • Ubuntu Universe and iovisor BCC packages are described as outdated.
  • A load failure with “Operation not permitted” may require sudo.

Limits

BCC generally requires Linux kernel 4.1 or newer and specified kernel configuration options. The guide says Ubuntu Universe and iovisor BCC packages are outdated and recommends building from source for an up-to-date packaged version.

Plans

PlanBilled and limitsPrice
BCCApache-2.0 licensed · Linux kernel 4.1 or newer requiredFree

As github.com lists them, read 4 Oct 2026. The maker's own page has the final word.

Getting started

  1. Open the BCC GitHub project page.
  2. Check that the system meets the Linux kernel and configuration requirements.
  3. Follow the installation guidance for the relevant distribution or WSL.
  4. For an up-to-date packaged version, build from source as the guide recommends.
  5. If loading a BPF program returns “Operation not permitted,” consult the FAQ guidance about sudo.

Verdict

Choose BCC if you need a free, self-hosted toolkit for eBPF kernel tracing or manipulation on Linux. Its included system tracing tools and several supported kernel hooks make it relevant to performance and network work. Check the kernel version and configuration requirements before choosing it.

Questions

How much does BCC cost?

BCC is free: its listed plan is free.

Is there a free plan or trial?

The free plan is available. There is no free trial.

Which platforms does BCC support?

It is listed for Linux and self-hosted deployment. Installation guidance covers Debian, Ubuntu, Fedora, Arch, Gentoo, openSUSE, RHEL, Amazon Linux, Alpine Linux, and WSL.

What license does BCC use?

The repository identifies Apache-2.0 as its license.

What does BCC include?

It provides eBPF kernel instrumentation in C with Python and Lua front ends, and includes tools for tracing disk I/O, processes, networking, and filesystems.

Where can users get project help?

The project points users to its GitHub issue tracker, the IOVisor mailing list, and the #iovisor IRC channel.

Facts from BCC's own pages

Distribution packages
The installation guide lists packages or installation instructions for Debian, Ubuntu, Fedora, Arch, Gentoo, openSUSE, RHEL, Amazon Linux, Alpine, and WSL. · github.com, 4 Oct 2026
Included tools
The project includes self-contained tools for tracing a running system, including examples for disk I/O, processes, networking, and filesystems. · github.com, 4 Oct 2026
Kernel hooks
BCC supports socket filters, tc classifiers, tc actions, and kprobes. · github.com, 4 Oct 2026
Languages
BCC provides kernel instrumentation in C, with front ends in Python and Lua. · github.com, 4 Oct 2026
License
The repository identifies Apache-2.0 as its license. · github.com, 4 Oct 2026
Linux requirement
The installation guide says Linux kernel 4.1 or newer is generally required, along with specified kernel configuration options. · github.com, 4 Oct 2026
Package limitation
The guide says Ubuntu Universe and iovisor BCC packages are outdated and that building from source is the way to get an up-to-date packaged version. · github.com, 4 Oct 2026
Permissions
The FAQ says a BPF program load failure with “Operation not permitted” may require running with sudo. · github.com, 4 Oct 2026
Purpose
BCC is a toolkit for creating efficient kernel tracing and manipulation programs using eBPF. · github.com, 4 Oct 2026
Security model
The README describes eBPF programs as sandboxed bytecode executed by the kernel and says BPF programs loaded into the kernel cannot crash or run forever. · github.com, 4 Oct 2026
Support
The project points users to its GitHub issue tracker, the IOVisor mailing list, and the #iovisor IRC channel for project discussion and help. · github.com, 4 Oct 2026
Use cases
BCC is suited to performance analysis and network traffic control. · github.com, 4 Oct 2026
Workflow
Its features include a shared library workflow, an LLVM BPF backend for JIT, and dynamic loading and unloading of JITed programs. · github.com, 4 Oct 2026

Where BCC stands on Freedom251

Look at these too