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

  • 相关阅读:
    蓝牙耳机什么牌子的好用?300元内最好的蓝牙耳机推荐
    极光笔记 | 聊一聊推送系统中事件驱动架构的应用
    川宁生物抢抓机遇,力争成为合成生物制造领域的头部企业
    WebSocket实现前后端双向数据的实时推送
    RHCSA 文件的上传下载(Linux-Windows)
    Android WebRTC 入门教程(二) -- 模拟p2p本地视频传输
    RuntimeError: Error(s) in loading state_dict for BASE_Transformer
    适配器模式
    【EMC专题】传导骚扰源和辐射骚扰源2
    Sping-AOP切面相关操作
  • 原文地址:https://blog.csdn.net/phmatthaus/article/details/132894820