写点什么

Netflix 开源 bpftop:简化 eBPF 性能监控与调优流程

  • 2024-04-12
    北京
  • 本文字数:1014 字

    阅读完需:约 3 分钟

大小:497.65K时长:02:49
Netflix开源bpftop:简化eBPF性能监控与调优流程

Netflix 最近宣布推出 bpftop,一个旨在增强 eBPF 程序优化和监控的命令行实用程序。bpftop 可以提供 eBPF 程序实时运行的快照,显示程序执行的平均持续时间、每秒处理的事件数以及每个程序的总 CPU 使用率的近似值等指标。有了这个工具,Netflix 就可以充分利用 eBPF 的功能。


Netflix 高级软件工程师 Jose Fernandez一篇博文中做了详细说明。bpftop 使用 BPF_ENABLE_STATS 命令从 eBPF 程序收集重要的性能数据。为了确保计算机平稳运行,数据收集默认处于关闭状态。bpftop 收集这些数据并计算有用的信息。收集的数据以类似于 top 命令的表格形式或以每 10 秒更新一次的图形形式显示。当 bpftop 停止运行时,也会停止收集统计信息。这个工具是用 Rust 编写的,并利用 libbpf-rsratatui 包来实现功能。



来源:bpftop:简化 eBPF 的性能优化


此外,bpftop 简化了提升 eBPF 程序性能的过程,便于进行基准测试、改进代码并获得即时反馈。如果没有 bpftop,优化这些程序需要涉及手动计算。而 bpftop 允许用户轻松设定基准、做出改进并确认这些改进,从而使整个过程高效进行。


这个工具的一个重要特性是它可以显示随时间变化的统计数据,这样有助于发现模式和趋势。


最开始,BPF 是 Berkeley Packet Filter 的首字母缩写。但根据 ebpf.io 的介绍,eBPF(扩展的 BPF)的能力已经不仅限于数据包过滤,所以最初的首字母缩写含义已经过时了。尽管如此,在 Linux 源代码中仍然使用 BPF 这个术语。在各种工具和文档中,BPF 和 eBPF 通常可以互换使用。如今,eBPF 在各种场景中都有应用,包括增强现代数据中心和云环境中的网络和负载均衡、提供详细的安全数据而又不会带来太大的开销,并协助开发人员跟踪应用程序,等等。


Fernandez 指出,尽管 Netflix 已经通过 VectorFlow Exporter sidecar 等工具将 eBPF 集成到了其性能工程中,但 Netflix 还希望在 eBPF 的优势和对系统的负载之间找到一个平衡点。


技术社区注意到 Netflix 工程账号在 X.com 上发布的 bpftop 公告,获得了 223 次转发和 1.2k 个赞。Hacker News 上的一篇帖子提到了技术社区的广泛参与。用户 bschuur 分享了他们在 eBPF 代码项目中使用这个工具的经验,强调了其有效性。因此,该工具被认为是足够有价值的,并被视为他们工具包的重要补充。


有关更多使用该工具的信息,请访问项目的 GitHub 页面。bpftop 采用了 Apache 2 开源许可,并欢迎社区参与贡献。


原文链接

https://www.infoq.com/news/2024/03/netflix-launches-bpftop/

2024-04-12 08:006577

评论

发布
暂无评论
发现更多内容

分布式存储中间件(1):10000字把Redis扒个干净,一发入魂

北游学Java

Java 数据库 redis 分布式

Linux内核源码分析:基于最新的Linux 4.0内核(学习路线总结)

Linux服务器开发

后端 Linux内核 内核源码 内核4.0 底层原理

实至名归!DataPipeline斩获“银行数字化科技创新大奖”

DataPipeline数见科技

送给你一份程序员大佬整理的 HTTP 基础知识大图

Java架构师迁哥

道相同、谋相通、人相守:华为副总裁周跃峰分享如何与用户精英共创数字基建

脑极体

又有400多个组件支持鸿蒙了!

Geek_283163

华为 鸿蒙

Javac 源码调试教程

学Java关注我

Java 编程 程序员 架构 计算机

Spark地基之RDD

正向成长

spark RDD

Flink在唯品会的实践

Apache Flink

flink

移动开发iOS工程师秘籍(全套七层)

程序员 移动开发 ios开发

直播系统聊天技术(四):百度直播的海量用户实时消息系统架构演进实践

JackJiang

架构设计 即时通讯 IM 直播技术

Github瞬间爆火!被各大厂要求直接下架的面试题库也太全了

Java 编程 程序员 架构 面试

Leveldb解读之二:Read

Jowin

leveldb

传统行业为什么需要互联网人才

Geek_vidmje

百度商业大规模微服务分布式监控系统——凤睛

百度Geek说

数据库 分布式 微服务 大前端 监控

智慧公安情指勤指挥调度平台搭建,指挥中心平台搭建

德赛西威与华为签署全场景智慧出行生态解决方案合作协议

iOS 面试策略之语言工具-Objective-C

iOSer

ios objective-c 程序员

如何用iMazing备份恢复贪婪洞窟

懒得勤快

北京天源迪科亮相2021年企业数字化转型峰会暨山东CIO智库年会

DT极客

Golang 性能分析

escray

学习 极客时间 Go 语言 4月日更

干货拉满!阿里公开内部P9级架构师(Java)成长路线图,满满的干货

Java架构追梦

Java 阿里巴巴 架构 面试 成长路线

【论文分享】Presto: SQL on Everything(二)

小舰

4月日更

Java-技术专题-同步可见性的查缺补漏

码界西柚

JVM happens-before CAS 可见性 有序性

B站视频下载:如何下载B站视频到电脑上

科技猫

B站 分享 哔哩哔哩 视频处理 b站视频下载

8K视频指的什么?8K视频处理和工作原理分析

科技猫

技术 分辨率 视频 视频处理 8k

使用开源项目必须保留作者姓名?开源软件不能商用?我们需要先学会分辨开源许可证

郭旭东

开源 开源文化

聚力区块链 共建数字中国丨“桂链”平台正式发布并启动全面接入“星火·链网”

云计算

commons-pool2 池化技术探究

vivo互联网技术

Java common-pool2 池化技术

一种自适应混合域音频无声水印

行者AI

音频

分布式作业系统 Elastic-Job-Lite 源码分析——作业失效转移

比伯

Java 编程 架构 互联网 技术宅

Netflix开源bpftop:简化eBPF性能监控与调优流程_软件工程_Aditya Kulkarni_InfoQ精选文章