{"id":122314,"date":"2024-02-26T22:51:26","date_gmt":"2024-02-26T22:51:26","guid":{"rendered":"https:\/\/showbizztoday.com\/index.php\/2024\/02\/26\/announcing-bpftop-streamlining-ebpf-performance-optimization-by-netflix-technology-blog-feb-2024\/"},"modified":"2024-02-26T22:51:26","modified_gmt":"2024-02-26T22:51:26","slug":"announcing-bpftop-streamlining-ebpf-efficiency-optimization-by-netflix-technology-blog-feb-2024","status":"publish","type":"post","link":"https:\/\/showbizztoday.com\/index.php\/2024\/02\/26\/announcing-bpftop-streamlining-ebpf-efficiency-optimization-by-netflix-technology-blog-feb-2024\/","title":{"rendered":"Announcing bpftop: Streamlining eBPF efficiency optimization | by Netflix Technology Blog | Feb, 2024"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div>\n<div>\n<div class=\"hu hv hw hx hy\">\n<div class=\"speechify-ignore ab co\">\n<div class=\"speechify-ignore bg l\">\n<div class=\"hz ia ib ic id ab\">\n<div>\n<div class=\"ab ie\"><a href=\"https:\/\/netflixtechblog.medium.com\/?source=post_page-----6a727c1ae2e5--------------------------------\" rel=\"noopener follow\" target=\"_blank\"><\/p>\n<div>\n<div class=\"bl\" aria-hidden=\"false\">\n<div class=\"l if ig bx ih ii\">\n<div class=\"l fi\"><img decoding=\"async\" alt=\"Netflix Technology Blog\" class=\"l fc bx dc dd cw\" src=\"https:\/\/miro.medium.com\/v2\/resize:fill:88:88\/1*BJWRqfSMf9Da9vsXG9EBRQ.jpeg\" width=\"44\" height=\"44\" loading=\"lazy\" data-testid=\"authorPhoto\"\/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<p><\/a><a href=\"https:\/\/netflixtechblog.com\/?source=post_page-----6a727c1ae2e5--------------------------------\" rel=\"noopener  ugc nofollow\" target=\"_blank\"><\/p>\n<div class=\"il ab fi\">\n<div>\n<div class=\"bl\" aria-hidden=\"false\">\n<div class=\"l im in bx ih io\">\n<div class=\"l fi\"><img decoding=\"async\" alt=\"Netflix TechBlog\" class=\"l fc bx bq ip cw\" src=\"https:\/\/miro.medium.com\/v2\/resize:fill:48:48\/1*ty4NvNrGg4ReETxqU2N3Og.png\" width=\"24\" height=\"24\" loading=\"lazy\" data-testid=\"publicationPhoto\"\/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p><\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p id=\"976a\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\"><em class=\"nx\">By <\/em><a class=\"af ny\" href=\"https:\/\/www.linkedin.com\/in\/josefernandezmn\/\" rel=\"noopener ugc nofollow\" target=\"_blank\"><em class=\"nx\">Jose Fernandez<\/em><\/a><\/p>\n<p id=\"5c31\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">Today, we&#8217;re thrilled to announce the discharge of <a class=\"af ny\" href=\"https:\/\/github.com\/Netflix\/bpftop\" rel=\"noopener ugc nofollow\" target=\"_blank\">bpftop<\/a>, a command-line device designed to streamline the efficiency optimization and monitoring of eBPF functions. As Netflix more and more adopts eBPF [<a class=\"af ny\" rel=\"noopener ugc nofollow\" target=\"_blank\" href=\"https:\/\/netflixtechblog.com\/extending-vector-with-ebpf-to-inspect-host-and-container-performance-5da3af4c584b\">1<\/a>, <a class=\"af ny\" rel=\"noopener ugc nofollow\" target=\"_blank\" href=\"https:\/\/netflixtechblog.com\/how-netflix-uses-ebpf-flow-logs-at-scale-for-network-insight-e3ea997dca96\">2<\/a>], making use of the identical rigor to those functions as we do to different managed companies is crucial. Striking a stability between eBPF\u2019s advantages and system load is essential, guaranteeing it enhances moderately than hinders our operational effectivity. This device allows Netflix to embrace eBPF\u2019s potential.<\/p>\n<figure class=\"oc od oe of og oh nz oa paragraph-image\">\n<div class=\"nz oa ob\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*pum8HfOu5XkB9XEwsKl_hw.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*pum8HfOu5XkB9XEwsKl_hw.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*pum8HfOu5XkB9XEwsKl_hw.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*pum8HfOu5XkB9XEwsKl_hw.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*pum8HfOu5XkB9XEwsKl_hw.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*pum8HfOu5XkB9XEwsKl_hw.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:270\/format:webp\/1*pum8HfOu5XkB9XEwsKl_hw.png 270w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 135px\" type=\"image\/webp\"\/><source data-testid=\"og\" srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*pum8HfOu5XkB9XEwsKl_hw.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*pum8HfOu5XkB9XEwsKl_hw.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*pum8HfOu5XkB9XEwsKl_hw.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*pum8HfOu5XkB9XEwsKl_hw.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*pum8HfOu5XkB9XEwsKl_hw.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*pum8HfOu5XkB9XEwsKl_hw.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:270\/1*pum8HfOu5XkB9XEwsKl_hw.png 270w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 135px\"\/><img alt=\"\" class=\"bg mg oi c\" width=\"135\" height=\"135\" loading=\"eager\" role=\"presentation\"\/><\/picture><\/div>\n<\/figure>\n<p id=\"a934\" class=\"pw-post-body-paragraph mz na gt nb b nc ph ne nf ng pi ni nj nk pj nm nn no pk nq nr ns pl nu nv nw gm bj\">bpftop gives a dynamic real-time view of operating eBPF applications. It shows the typical execution runtime, occasions per second, and estimated complete CPU % for every program. This device minimizes overhead by enabling efficiency statistics solely whereas it&#8217;s energetic.<\/p>\n<figure class=\"oc od oe of og oh nz oa paragraph-image\">\n<div role=\"button\" tabindex=\"0\" class=\"pn po fi pp bg pq\">\n<div class=\"nz oa pm\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*hLvLcNDb6RljixhN8la-lg.gif 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*hLvLcNDb6RljixhN8la-lg.gif 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*hLvLcNDb6RljixhN8la-lg.gif 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*hLvLcNDb6RljixhN8la-lg.gif 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*hLvLcNDb6RljixhN8la-lg.gif 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*hLvLcNDb6RljixhN8la-lg.gif 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*hLvLcNDb6RljixhN8la-lg.gif 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\" type=\"image\/webp\"\/><source data-testid=\"og\" srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*hLvLcNDb6RljixhN8la-lg.gif 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*hLvLcNDb6RljixhN8la-lg.gif 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*hLvLcNDb6RljixhN8la-lg.gif 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*hLvLcNDb6RljixhN8la-lg.gif 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*hLvLcNDb6RljixhN8la-lg.gif 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*hLvLcNDb6RljixhN8la-lg.gif 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*hLvLcNDb6RljixhN8la-lg.gif 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\"\/><img alt=\"\" class=\"bg mg oi c\" width=\"700\" height=\"413\" loading=\"lazy\" role=\"presentation\"\/><\/picture><\/div>\n<\/div>\n<\/figure>\n<p id=\"0afb\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">bpftop simplifies the efficiency optimization course of for eBPF applications by enabling an environment friendly cycle of benchmarking, code refinement, and speedy suggestions. Without bpftop, optimization efforts would require guide calculations, including pointless complexity to the method. With bpftop, customers can shortly set up a baseline, implement enhancements, and confirm enhancements, streamlining the method.<\/p>\n<p id=\"f37b\" class=\"pw-post-body-paragraph mz na gt nb b nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv nw gm bj\">A standout characteristic of this device is its means to show the statistics in time sequence graphs. This strategy can uncover patterns and tendencies that might be missed in any other case.<\/p>\n<p id=\"c629\" class=\"pw-post-body-paragraph mz na gt nb b nc ph ne nf ng pi ni nj nk pj nm nn no pk nq nr ns pl nu nv nw gm bj\">bpftop makes use of the <a class=\"af ny\" href=\"https:\/\/elixir.bootlin.com\/linux\/v6.6.16\/source\/include\/uapi\/linux\/bpf.h#L792\" rel=\"noopener ugc nofollow\" target=\"_blank\">BPF_ENABLE_STATS<\/a> syscall command to allow international eBPF runtime statistics gathering, which is disabled by default to scale back efficiency overhead. It collects these statistics each second, calculating the typical runtime, occasions per second, and estimated CPU utilization for every eBPF program inside that pattern interval. This data is displayed in a top-like tabular format or a time sequence graph over a 10s transferring window. Once bpftop terminates, it turns off the statistics-gathering perform. The device is written in Rust, leveraging the <a class=\"af ny\" href=\"https:\/\/github.com\/libbpf\/libbpf-rs\" rel=\"noopener ugc nofollow\" target=\"_blank\">libbpf-rs<\/a> and <a class=\"af ny\" href=\"https:\/\/github.com\/ratatui-org\/ratatui\" rel=\"noopener ugc nofollow\" target=\"_blank\">ratatui<\/a> crates.<\/p>\n<p id=\"33df\" class=\"pw-post-body-paragraph mz na gt nb b nc ph ne nf ng pi ni nj nk pj nm nn no pk nq nr ns pl nu nv nw gm bj\">Visit the challenge\u2019s <a class=\"af ny\" href=\"https:\/\/github.com\/Netflix\/bpftop\" rel=\"noopener ugc nofollow\" target=\"_blank\">GitHub web page<\/a> to study extra about utilizing the device. We\u2019ve open-sourced bpftop beneath the Apache 2 license and stay up for contributions from the neighborhood.<\/p>\n<\/div>\n<p>[ad_2]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] By Jose Fernandez Today, we&#8217;re thrilled to announce the discharge of bpftop, a command-line device designed to streamline the efficiency optimization and monitoring of eBPF functions. As Netflix more and more adopts eBPF [1, 2], making use of the identical rigor to those functions as we do to different managed companies is crucial. Striking [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":122316,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37],"tags":[],"class_list":{"0":"post-122314","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-netflix"},"_links":{"self":[{"href":"https:\/\/showbizztoday.com\/index.php\/wp-json\/wp\/v2\/posts\/122314","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/showbizztoday.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/showbizztoday.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/showbizztoday.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/showbizztoday.com\/index.php\/wp-json\/wp\/v2\/comments?post=122314"}],"version-history":[{"count":0,"href":"https:\/\/showbizztoday.com\/index.php\/wp-json\/wp\/v2\/posts\/122314\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/showbizztoday.com\/index.php\/wp-json\/wp\/v2\/media\/122316"}],"wp:attachment":[{"href":"https:\/\/showbizztoday.com\/index.php\/wp-json\/wp\/v2\/media?parent=122314"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/showbizztoday.com\/index.php\/wp-json\/wp\/v2\/categories?post=122314"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/showbizztoday.com\/index.php\/wp-json\/wp\/v2\/tags?post=122314"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}