3.1 Systemp 简介
从今天开始我们将学习第一个可编程的动态追踪工具 Systemtap。本节是 Systemtap 的一个基本介绍。
1. Systemtap 简介
动态追踪技术起源于 Solaris 系统的 DTrace。Dtrace 有 Linux Mac OS X 等系统的移植版,但是实现的都差强人意,不支持很多高级特性。Systemtap 是 Redhat 开源的 Linux 上的动态追踪工具,是 Linux 上目前最成熟的动态追踪框架。
从今天开始我们将学习第一个可编程的动态追踪工具 Systemtap。本节是 Systemtap 的一个基本介绍。
动态追踪技术起源于 Solaris 系统的 DTrace。Dtrace 有 Linux Mac OS X 等系统的移植版,但是实现的都差强人意,不支持很多高级特性。Systemtap 是 Redhat 开源的 Linux 上的动态追踪工具,是 Linux 上目前最成熟的动态追踪框架。
今天我们来讲第二动态追踪技术 eBPF,eBPF 就是 Linux 版的 DTrace,可以通过 C 语言自由扩展。
eBPF 的工作原理如下图所示:

今天我们来讲解第一个动态追踪技术 DTrace, 它是动态追踪技术的鼻祖
Solaris 系统的 DTrace 是动态追踪技术的鼻祖,它提供了一个通用的观测框架,并可以使用 D 语言进行自由扩展。
上一节我们学习了 perf 的基本原理,对 perf 有了一个整体上的认识,本节我们来学如何使用 perf 进行性能分析。
我们将按照如下几个部分来介绍 perf 的使用:

perf 感觉像是一个完全版的 top,可以帮助我们看到操作系统运行的全貌。perf 的使用非常复杂,本文只是一个入门,推荐大家去阅读大神 Brendangregg 的文章perf Examples。
最早 ftrace 是一个 function tracer,仅能够记录内核的函数调用流程。如今 ftrace 已经成为一个 framework,采用 plugin 的方式支持开发人员添加更多种类的 trace 功能。