首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

强劲的Linux Trace工具:bpftrace (DTrace 2.0) for Linux 2018

译者注:原作者是大名鼎鼎的性能分析专家:Brendan Gregg,现在工作在Netflix,之前工作在Sun,在Sun公司的时候,他就做了大量的性能分析和tracing相关的工作,在Sun的Solaris上存在一种传说中的性能分析和Debug神器: Dtrace,然而,可惜的是,在我们现在的Linux操作系统上并没有Dtrace神器(这可能是因为Dtrace是从Soloris操作系统的衍生品无法迁移到别的操作系统上),Brendan Gregg 在Netflix后,继续利用他的业余时间,利用他曾经在Soloris上的性能分析经验,和对Dtrace工具的理解,研发基于Linux操作系统上的上类似于Dtrace的工具,曾经他在早期的kernel版本上基于perf研发了perf-tools工具,后面在eBPF进入kernel后,开始基于eBPF做性能工具研发的工作,比如bcc工具集,最近又参与了bpftrace的工具。本文主要是Brendan Gregg在介绍 bpftrace在2018年的开发进展,以及对bpftrace的介绍和对Dtrace的区别介绍。

01
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    我的开源项目被科技巨头拿去做产品了,只不过注释中删掉了我的名字

    机器之心报道 机器之心编辑部 这是一个拥抱开源的程序员大牛的「神奇」经历,成文几个小时就在社交网站上获得了数千点赞。 「拥抱开源」不是说说那么简单的,如今很多科技公司都会把这句话挂在嘴边,把开源当作一个重要战略,它们希望自家的工程师投身开源社区,为领域内创造出良好的氛围,以此推动技术的进步,并从中获得更多开发者的支持关注。 但有的时候,你很难放心把自己赖以生存的新技术拿来分享,它们可能会被用在各种预料之外的地方,有时别人甚至会借鉴你开源过的代码,反过来针对你。 如果你是一个人,对方是一家大公司,这事情就

    02

    用BPF实现用户态tracing

    BPF是最近Linux内核领域热门的技术。传统的BPF指的是tcpdump命令用于过滤网络包的工具,现在BPF已经得到极大的扩展,不再是Berkeley Packet Filter的缩写对应的简单的网络包过滤工具。 从Kernel 4.9之后,BPF已经成为一个完善的内核扩展工具,BPF在内核里运行一个sandbox,用于执行BPF的字节码(bytecode), 在执行BPF程序前,BPF的检查器会对BPF程序的字节码进行安全检查(比如,指针要先判断不为空后再访问,代码里不能有循环,等等),以保证BPF程序不会导致系统崩溃,因为BPF程序执行时是在内核态。 因此,BPF可以很安全地在内核态执行用户编写的程序,而且有安全保证,这比编写内核模块安全太多了。 正是因为BPF能保证安全,并运行在内核态,可以大大简化很多以前很复杂的事情,目前BPF已经应用于性能分析、网络、安全、驱动、区块链等等领域。

    01
    领券