<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="http://gentoo-zh.org/extern.php?action=feed&amp;tid=874&amp;type=rss" rel="self" type="application/rss+xml" />
		<title><![CDATA[Gentoo中文社区 / Gentoo伯克利子系统之八:Linux tracing system对比分析]]></title>
		<link>http://www.gentoo-zh.org/viewtopic.php?id=874</link>
		<description><![CDATA[Gentoo伯克利子系统之八:Linux tracing system对比分析 最近发表的帖子。]]></description>
		<lastBuildDate>Sat, 13 Jul 2024 04:01:51 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[Gentoo伯克利子系统之八:Linux tracing system对比分析]]></title>
			<link>http://www.gentoo-zh.org/viewtopic.php?pid=994#p994</link>
			<description><![CDATA[<p>Linux trace技术发展已久，经常看到很多的专业术语，从perf LTTng systemtap&#160; bpftrace tracepoint&#160; trace BCC bpf ebpf等词汇，这些关键的词汇有着怎样的联系和关联，通过下面的这个图可以直观的认识到这几种关键技术的内在联系。</p><p>&#160; &#160; &#160; &#160; 整个内核的跟踪和观测技术分为前端工具，内核框架支持、内核数据源支持三个部分。前端工具通常作为使用者，在跟踪内核或者观测内核时使用的命令，比如：bpftrace BCC 等工具，内核态框架是指支持上述前端工具的内核框架，比如systemtap的内核模块、BPF的字节码等。内核态数据源是指对内核跟踪或者观测获取到的数据方法，比如kprobe和tracepoint等。</p><p><span class="postimg"><img src="https://www.batsom.net/usr/uploads/2024/05/3816854445.png" alt="FluxBB bbcode 测试" /></span></p><p>上述内核观测和跟踪技术的调用和对应关系如下：通过下面的关系图，可以看到清晰的调用关系。&#160; &#160; &#160;</p><p><span class="postimg"><img src="https://www.batsom.net/usr/uploads/2024/05/3411245156.png" alt="FluxBB bbcode 测试" /></span></p><p>前面的文章中介绍过Systemtap bpftrace perf在内核跟踪和观测方面的使用方法和实例。这里我们从几个维度对这几种技术进行对比分析。 </p><p><span class="postimg"><img src="https://www.batsom.net/usr/uploads/2024/05/2621854678.png" alt="FluxBB bbcode 测试" /></span></p><p>&#160; &#160; &#160; 从上面的几个维度的对比中我们能够更清晰的认识各类技术的特点。对于eBPF来说在各个方面都是占有优势的，</p><p>可编程性：BPF是可针对内核可编程的，</p><p>内核内置：也是现在内核中内置的技术框架，无需专门安装，只需要打开内核的配置参数。</p><p>安全性：BPF对编写的程序有安全检查</p><p>内核版本的支持范围：BPF主要针对高版本的内核，越高版本的内核，其包含的功能越丰富，对于老版本的内核不友好，但是systemtap基本通吃所有内核版本。</p><p>性能：在性能上这几种技术类型没有本质的区别</p><p>生态：BPF作为最近几年新发展的技术，围绕BPF的各类开源工具以及生态发展较快，其他几类工具基本处于发展停滞阶段。</p><p>功能丰富度：BPF除了内核的观测和跟踪方面发挥作用外，在内核安全、网络性能提升等多方向上都有对应的解决方案</p><p>使用便捷性：根据bpf技术的bpftrace bpf-tool等工具提供了大量可直接使用的工具，并且可以结合高级的编程语言python go进行开发，在使用便捷性上也有极大的优势。</p>]]></description>
			<author><![CDATA[dummy@example.com (batsom)]]></author>
			<pubDate>Sat, 13 Jul 2024 04:01:51 +0000</pubDate>
			<guid>http://www.gentoo-zh.org/viewtopic.php?pid=994#p994</guid>
		</item>
	</channel>
</rss>
