# bpftrace/bpftrace

High-level tracing language for Linux

Repository: https://github.com/bpftrace/bpftrace
Canonical: https://ross.abutalabs.com/products/bpftrace
Homepage: https://bpftrace.org/
Language: C++
License: Apache-2.0
License Family: permissive
Topics: bpf, ebpf, tracing, kprobes, uprobes, tracepoints, usdt, bcc
Last push: 2026-08-24T15:16:35+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 86, longevity 100
- inputs: {"age_days": 2924, "days_push": 9, "days_rel": 92, "gap_med": 17, "n_releases_24m": 16}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 10297, forks 1479 (observed 2026-08-28T04:10:41.538141+00:00)

## What it is
bpftrace is a high-level tracing language and CLI tool for Linux that compiles one-liner scripts to eBPF bytecode via LLVM. It supports kernel dynamic tracing (kprobes), user-level tracing (uprobes, USDT), and tracepoints with minimal overhead.

## Use cases
- trace kernel function calls on linux
- profile syscall latency with one-liner scripts
- trace userspace function calls with uprobes
- debug performance issues with eBPF tracing
- monitor file opens and network events in real time
- write custom observability tools without writing C

## When to choose
- you need low-overhead dynamic tracing on Linux
- you want DTrace-like scripting for kernel and userspace probes
- you want quick ad-hoc one-liners instead of writing BPF C programs

## When to avoid
- you need tracing on non-Linux platforms
- you require complex BPF programs beyond what the scripting language supports
- you cannot run with root privileges or a recent kernel with eBPF support

## Facets
- artifact type: cli-tool
- maturity: active
- function: tracing, monitoring, cli, developer-tools, interpreter
- domain: developer-tools, operating-systems, performance, monitoring
- platform: cli
- tags: ebpf, bpf, kprobes, uprobes, tracepoints, usdt, observability, system-tracing, dtrace, kernel-debugging, command-line, linux

## Member repositories
- bpftrace/bpftrace (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:41.538141+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:19:11.817096+00:00, confidence not recorded.
  - readme: https://github.com/bpftrace/bpftrace (fetched 2026-08-28T04:10:41.538141+00:00, sha 2a20405ad907)
  - homepage: https://bpftrace.org/ (fetched 2026-08-29T08:18:40.745275+00:00, sha 1ec0833c74c8)
  - site_page: https://bpftrace.org/about (fetched 2026-08-29T08:18:40.754463+00:00, sha 5d2f4df84775)
  - site_page: https://bpftrace.org/docs/release_026/docs (fetched 2026-08-29T08:18:40.756287+00:00, sha 563490168118)
  - site_page: https://bpftrace.org/docs/release_026/language (fetched 2026-08-29T08:18:40.758344+00:00, sha a69f13819f43)
  - site_page: https://bpftrace.org/docs/release_026/stdlib (fetched 2026-08-29T08:18:40.763034+00:00, sha efe06471610c)
  - site_page: https://bpftrace.org/docs/release_026/cli (fetched 2026-08-29T08:18:40.766627+00:00, sha 8d0d9b4085ba)
  - site_page: https://bpftrace.org/docs/pre-release/docs (fetched 2026-08-29T08:18:40.768937+00:00, sha a52cf1c9b47e)
  - site_page: https://bpftrace.org/docs/release_025/docs (fetched 2026-08-29T08:18:40.770711+00:00, sha dfd9ede6dd82)
  - site_page: https://bpftrace.org/docs/release_024/docs (fetched 2026-08-29T08:18:40.772337+00:00, sha c95b32a9f5aa)
- Data as of 2026-08-30T08:39:29.467469+00:00.
