《BPF Performance Tools —— 洞悉Linux系统和应用性能》学习笔记 —— 第一章 介绍(2)

接前一篇文章:《BPF Performance Tools ------ 洞悉Linux系统和应用性能》学习笔记 ------ 第一章 介绍(1)

1.2 Tracing、Snooping、Sampling、Profiling和Observability是什么?

这些都是用于对分析技术和工具进行分类的术语。

  • Tracing(跟踪、追踪)

Tracing是基于事件的记录------这些BPF工具使用的仪器类型。你可能已经使用了一些专用跟踪工具,例如Linux strace,记录并打印系统调用事件。有许多工具并不跟踪事件,而是使用固定的统计计数器度量事件,并在其后打印摘要,Linux top是其中一个例子。跟踪器的一个特点是其能够记录原始事件和事件元数据。此类数据可以是海量的,可能需要将其后处理成摘要。BPF使之成为可能的程序跟踪器,可以对事件运行小程序,以执行自定义的即时统计摘要或其他操作,从而避免昂贵的后处理。

  • Snooping(窥探)

虽然strace的名字中有"trace",但并不是所有的tracers都是这样(指的是名字中带有"trace")。例如,tcpdump是网络数据包的另一个专用跟踪器。(也许它应该被命名为tcptrace?)。Solaris操作系统有其自己的tcpdump版叫做snoop,之所以如此命名,是因为它被用来窥探网络数据包。我是第一个开发和发布许多跟踪工具的人,而且是在Solaris上开发和发布的,在那里我对于我的早期工具(也许很遗憾地)使用了术语"窥探"。这就是为什么我们现在有execsnoop、opensnoop、biosnoop等等。Snooping、event dumping和tracing通常指的是同一件事。这些工具将在后面的章节中(逐一)介绍。

除了工具名称之外,"tracing"这一术语也被用来描述BPF,尤其是被内核开发人员,当用于可观测性时。

  • Sampling(采样)

采样工具采用测量的子集来绘制目标的粗略画像;这也被称为创建配置文件或配置文件。有一个名为profile的BPF工具,它可以执行基于定时器的运行代码采样。例如,它可以每10毫秒采样一次,或者换句话说,它可以每秒采样100次(在每个CPU上)。采样器的一个优点是,它们的性能开销可以低于跟踪器,因为它们只测量一组大得多的事件集中的一个。缺点是采样只提供粗略的画像,并且可能会错过事件。

  • Observability(可观测性)

可观察性是指通过观察来理解一个系统,并对实现此功能的工具进行分类。这些工具包括跟踪工具、采样工具和基于固定计数器的工具。它不包括基准测试工具,此类工具通过执行工作负载实验来修改系统的状态。本书中的BPF工具是可观测性工具,它们使用BPF进行程序跟踪。

相关推荐
mounter6253 天前
突破单点限制:BPF 多跟踪点高效附加机制与新 ftrace 架构解析
linux·ebpf·linux kernel·kernel·ftrace
mounter6255 天前
深度解析 eBPF LSM:如何利用 eBPF 构建安全的 Linux 内核纵深防御体系
linux·安全·ebpf·linux kernel·kernel
mounter62512 天前
认识 Tetragon:基于 eBPF 的安全监控与强制执行工具
linux·ebpf·cve·kernel
mounter62518 天前
高性能网络技术演进与创新探索:RDMA、eBPF/XDP 深度解析及 LSF/MM/BPF 2023 专题演讲
linux·ebpf·linux kernel·kernel·rdma·xdp
REDcker25 天前
基于 eBPF 的网络可观测:协议栈路径与 sk_buff
linux·服务器·网络·php·ebpf·bpf
REDcker1 个月前
eBPF 运行时架构:Verifier、JIT、Map 与加载流程
linux·内核·ebpf·bpf
mounter6251 个月前
质检员与超能引擎的碰撞:KASAN 护航 eBPF JIT 的技术演进与安全抉择
linux·ebpf·linux kernel·kernel·kasan
mounter6251 个月前
走向长时运行:引入协程(Coroutines),打破 BPF 程序的“一堂到底”限制
linux·ebpf·kernel
mounter6251 个月前
BPF 的进化史:从网络过滤器到 AI 时代的 Linux 核心引擎
linux·网络·人工智能·ebpf·linux kernel·kernel
面朝大海,春不暖,花不开1 个月前
BPF与eBPF简介:核心概念与观测工具概览
开发语言·php·ebpf·bpf·性能观测