《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进行程序跟踪。

相关推荐
张璐月11 天前
[eCapture] OpenSSL 文件 Hook 机制
网络·ebpf·ecapture
key_3_feng14 天前
生成式AI+eBPF:智能运维新范式的技术实现与深度解析
aigc·ebpf
key_3_feng15 天前
eBPF驱动的企业可观测性革命:从内核层重构运维新范式
ebpf
mounter62515 天前
深度拦截:Linux 内核引入 Firmware LSM 挂钩,eBPF 再下一城!
linux·服务器·ebpf·kernel·firmware
张璐月16 天前
[ecapture] gotls:三种模式实现说明与上层应用职责
网络·ebpf·gotls·ecapture
张璐月16 天前
[ecapture] eBPF hook gotls 收包乱序根因分析
ebpf·gotls·ecapture
张璐月19 天前
[eCapture] GoTLS Perf 事件有序下发
ebpf·gotls·ecapture
mounter62519 天前
【内核前沿】从 veth 到 netkit:深度解析 TCP devmem 穿透容器屏障的“队列租赁”黑科技
网络·ebpf·linux kernel·devmem tcp·netkit·队列租赁
程序猿编码1 个月前
eBPF代理:让SSH进程“溯源”,找到背后的客户端IP
linux·tcp/ip·ssh·ebpf
淡泊if2 个月前
eBPF 实战:一次诡异的 Nginx 高延迟,我用 5 分钟在内核里找到了真凶
java·运维·nginx·微服务·ebpf