Skip to content
SPECIFICTION
Get listed

bpftrace vs Inspektor Gadget

bpftrace

bpftrace.org

Inspektor Gadget

inspektor-gadget.io

Side by side

FigurebpftraceInspektor Gadget
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
Windows—Yes
macOS—Yes
LinuxYesYes
API—Yes
Self-hostedYesYes
Plans published11
Spec score · eBPF Observability Tools8.6 (#4)7.9 (#13)
Purposebpftrace is a high-level tracing language for Linux for writing observability-based eBPF programs.Inspektor Gadget is a set of tools and a framework for eBPF-based data collection and system inspection on Kubernetes clusters and Linux hosts.
SecurityAs a security measure, bpftrace refuses to import files from world-writable directories.Official image-based gadgets are signed with cosign, and the documentation describes verifying gadget signatures.

Plans

bpftrace

  • bpftraceFree

bpftrace pricing →

Inspektor Gadget

  • Inspektor GadgetFree

Inspektor Gadget pricing →

In their own words

bpftrace

bpftrace is a free, high-level tracing language and general-purpose Linux tracing tool built on eBPF. It supports kernel and user-space dynamic tracing, perf events, USDT, uprobes, and tracepoints. Its language draws from awk, C, DTrace, and SystemTap. Programs can come from files, inline -e input, or standard input, and the standard library supplies builtins, functions, macros, and map-value functions. LLVM compiles scripts to eBPF bytecode; libbpf interacts with Linux’s BPF subsystem, with bcc also used in the implementation. Scripts can import bpftrace files, C headers, BPF C source, and supported directory files. Unsafe helpers require --unsafe, and imports from world-writable directories are refused. The default probe maximum is 1,024; increasing it can raise memory use, startup time, overhead, or risk freezes and crashes. Supported architectures include x86_64, arm64, s390x, arm32, loongarch64, mips64, ppc64, and riscv64. Some features need kernel headers; vmlinux BTF needs Linux 4.18 or later with CONFIG_DEBUG_INFO_BTF enabled.

Visit bpftrace.org

Inspektor Gadget

Inspektor Gadget is an open-source toolkit and framework for collecting eBPF data and inspecting Kubernetes clusters and Linux hosts. Its gadgets package eBPF programs as OCI images that can be deployed to examine systems. The toolkit enriches low-level kernel data with context such as Kubernetes pod and container names, and can export collected information to observability tools. WebAssembly modules can process data and customize operators; developers can also use the framework through a Go library. In Kubernetes, it runs as a DaemonSet, with one pod on each cluster node. Project gadgets require Linux kernel 5.10 or later with BTF enabled. Supported Kubernetes environments include Minikube, AKS, EKS, GKS, OpenShift, and Talos; AWS Fargate, Azure Container Instances, and GKE Autopilot are listed as unsupported. Official image-based gadgets are signed, and operators can restrict which gadgets may run by digest, tag, or image prefix. Inspektor Gadget has no long-term support releases: only the latest release receives maintenance and security updates.

Visit inspektor-gadget.io