第 15 章 使用 perf 创建 uprobes


uprobes (用户空间探测)是在运行时监控用户空间应用程序中特定点的动态检测机制,而无需更改源代码或重新编译。

uprobes 有两种有用的用例:

调试和性能分析
uprobes 功能 类似于监视点。您可以在应用程序的特定位置插入它们,以计算执行这些代码路径的频率。此外,他们可以捕获丰富的上下文,如调用堆栈或变量值,这有助于识别性能瓶颈或跟踪错误。
基于事件的数据收集
uprobes 作为 circular 缓冲区等机制切换事件,有助于根据用户空间中的执行触发器来控制数据何时被记录或清空。

uprobes 与 perf 无缝集成,这既可以使用现有 uprobes 并创建新的 uprobes。这种灵活性允许强大的、非侵入观察和分析用户空间行为以及内核空间检测(通过 kprobes)。

15.1. 在功能级别使用 perf 创建 uprobes

您可以使用 perf 工具在进程或应用程序的任意点处创建动态追踪点。然后,这些追踪点可以与其他 perf 工具(如 perf statperf 记录 )一起使用,以更好地理解进程或应用程序行为。

先决条件

流程

  • 在对进程或应用程序感兴趣的位置监控的进程或应用程序中创建 uprobe:

    # perf probe -x /path/to/executable -a function
    
    Added new event:
      probe_executable:function   (on function in /path/to/executable)
    
    You can now use it in all perf tools, such as:
        perf record -e probe_executable:function -aR sleep 1
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat