{"id":6019,"date":"2022-09-20T12:08:25","date_gmt":"2022-09-20T09:08:25","guid":{"rendered":"https:\/\/skeletor.org.ua\/?p=6019"},"modified":"2024-08-21T17:35:01","modified_gmt":"2024-08-21T14:35:01","slug":"linux-tracing-bcc-tools-bpftrace","status":"publish","type":"post","link":"https:\/\/skeletor.org.ua\/?p=6019","title":{"rendered":"[Linux] Tracing: bcc-tools, bpftrace, bpftop"},"content":{"rendered":"\n<p><a href=\"https:\/\/github.com\/iovisor\/bcc\" target=\"_blank\" rel=\"noreferrer noopener\">BCC <\/a>is a toolkit for creating efficient kernel tracing and manipulation programs, and includes several useful tools and examples. It makes use of extended BPF (Berkeley Packet Filters), formally known as eBPF, a new feature that was first added to Linux 3.15. Much of what BCC uses requires Linux 4.1 and above.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/iovisor\/bpftrace\" target=\"_blank\" rel=\"noreferrer noopener\">bpftrace <\/a>is a high-level tracing language for Linux enhanced Berkeley Packet Filter (eBPF) available in recent Linux kernels (4.x)<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/Netflix\/bpftop\" data-type=\"link\" data-id=\"https:\/\/github.com\/Netflix\/bpftop\">bpftop<\/a> provides a dynamic real-time view of running eBPF programs. It displays the average runtime, events per second, and estimated total CPU % for each program. It also provides graphical views of these statistics over time. This tool minimizes overhead by enabling performance statistics only while it is active.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>BCC is a toolkit for creating efficient kernel tracing and manipulation programs, and includes several useful tools and examples. It makes use of extended BPF (Berkeley Packet Filters), formally known as eBPF, a new feature that was first added to Linux 3.15. Much of what BCC uses requires Linux 4.1 and above. bpftrace is a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,10,12],"tags":[],"class_list":["post-6019","post","type-post","status-publish","format-standard","hentry","category-linux","category-others","category-routers"],"_links":{"self":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/6019","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6019"}],"version-history":[{"count":4,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/6019\/revisions"}],"predecessor-version":[{"id":6424,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=\/wp\/v2\/posts\/6019\/revisions\/6424"}],"wp:attachment":[{"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6019"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6019"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/skeletor.org.ua\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}