速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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:006263

评论

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

开源免费!又一款代码文档生成工具!

Jackpop

2021年中国知识图谱软件及服务市场规模超100亿,竞争格局不稳定

易观分析

知识图谱

赞美,还是责备?全盘否定孩子的一切是“虐待”!

图灵社区

育儿 教育 脑科学

作业

兜里贼缺钱

从零开始 - 50行代码实现一个Vuex状态管理器

茶无味的一天

JavaScript Vue vuex

小程序化:系统集成行业降本增效的破局思考

Speedoooo

小程序 数字化转型 小程序容器 生态平台

极客时间架构训练营模块一作业

李晨

架构

2021年中国机器学习平台软件及服务市场规模近100亿

易观分析

机器学习

Python 入门与基础《刷题篇》(1)

吉师职业混子

9月月更

视频直播+小程序,打破物理空间的电商卖货时代!

Speedoooo

小程序 小程序生态 直播带货 电商营销 小程序容器

【数据结构与算法】8道链表面试真题超详剖析,带你领略算法思想【附思路、动图、源码】

Dream-Y.ocean

链表 数据结构与算法 9月月更

9 月 Jina AI 中文社区面对面

Jina AI

人工智能 开源 工程师

【编程实践】手把手带你利用Python简单实现斐波那契数列

迷彩

斐波那契 9月月更 数列

利用Vim和Github Copilot打造一款强大IDE!

Jackpop

从零开始 - 40行代码实现一个简单Promise函数

茶无味的一天

JavaScript Promise

【云原生 | 从零开始学Kubernetes】十、k8sPod节点亲和性和反亲和性

泡泡

Docker 云计算 云原生 k8s 9月月更

<T>和<?>区别

六月的雨在InfoQ

泛型 Java泛型 9月月更 <T> <?>

python学习之21天(1)

吉师职业混子

9月月更

易周金融分析 | 银行融资青睐可转债;苏州市手机银行应用活跃人数规模发布

易观分析

金融 银行

docker与gosu

程序员欣宸

Docker 9月月更 gosu

从 DFS 到回溯法,再看 N 皇后问题

掘金安东尼

前端 9月月更

云效DevOps--效能无极限

六月的雨在InfoQ

云效 Codeup 云效流水线 Flow 9月月更 Thoughts

Javaweb之会话技术

楠羽

技术 笔记 9月月更

极客时间—架构实战营—第九期—模块一作业

阿梁

大数据ELK(五):Elasticsearch中的核心概念

Lansonli

ELK 9月月更

跟着卷卷龙一起学Camera--内存池浅析03

卷卷龙

ISP 9月月更

Python 入门与基础《刷题篇》(2)

吉师职业混子

9月月更

8万Star!这个开源项目有点强!

Jackpop

HowTo:Pipy 如何统计关键指标

Flomesh

Service Mesh 服务网格

Python语法之函数

梦笔生花

赞美,还是责备?全盘否定孩子的一切是“虐待”!

图灵教育

育儿 教育 脑科学

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