Ftrace实战训练营(第3期)|仅剩最后5个名额~

原创 Linux阅码场 2022-09-28 08:03

在我仔细研究Linux内核中的ftrace之后,发现ftrace中的各个tracers的作用一直被人们严重低估了, 比如我们会花了大量的时间去理解Linux内核中的一块代码,然后猜测可能的执行流, 但是ftrace会首先直接告诉你整个执行流,然后你再去查看代码,这样无论从效率和准确度来讲都是极大的提升。

对于任意一个函数,想要知道它是否执行了,或者想知道它的函数参数,函数返回值,函数的执行时间,函数向上的执行流,函数向下的执行流,甚至任意两个函数之间的执行流,ftrace都能很好的支持。重要的是所有函数都能这样结合起来使用,还有更加重要的是函数可以跟事件结合起来,事件可以过滤可以触发其它的事件和tracers,这样就衍生出了无限的可能性

本课程的设计宗旨是让学员站在设计者的角度来理解ftrace,明白各个tracers为什么这样设计和整个发展脉络,进而更加灵活地使用它以辅助我们的实际工程项目和研究学习,也可以激发学员进而迸发出更加先进的trace功能为整个Linux内核社区做贡献。本课程更加偏向于理解设计思想和使用,如果想了解源代码级别的实现,可以参考我在阅码场平台的视频课程《Linux内核tracers的实现原理与应用》。

为保证教学效果,咱们采取小班教学的方式授课,第三期仅剩最后5个名额,报名速联系小月,节后开课


01
课程大纲


 
 
第一部分 实验课程
2小时)
1. ftrace总体介绍
2. function tracer
3. 查看函数是否执行
4. 查看函数向上的调用栈(堆栈)
5. set_ftrace_filter一招制胜
6. 练习查看函数是否执行和获取对应的堆栈
 
 
第二部分
2小时)
7. function_graph tracer
8. 查看函数执行时间
9. 查看函数向下的调用栈
10. 同时查看函数向上和向下的调用栈
11. 练习查看函数的执行时间和向下的调用栈
 
 
第三部分
2小时)
12. kprobe event
13. trace event
14. kprobe/tracepointevent结合
15. probes event 结合
16. vfsevent结合
17. event filter
18. event trigger
19. 练习kprobe eventtrace event的使用
 
第四部分
2小时)
20. function tracer
21. Function graph tracer
22. wakeup
23. blk
24. 练习各种tracer的使用
 
第五部分
2小时)
25. ftrace联合大演练之组合的魔力
26. 中断延迟
27. 信号处理
28. 使用ftrace探索poll select epoll io_uring
第六部分
29. 学习成果评估与模拟面试



02
你将收获


  1. 从根上解决企业Linux底层人员难找的问题,自己培养骨干工程师
  2. 加快问题定位,提高研发效率,加快产品研发上市
  3. 强调动手,以Ftrace为抓手学习内核
  4. 以Ftrace为抓手打通软硬件任督二脉:IO和中断
  5. 使用Ftrace做性能分析和性能优化
  6. 通过案例,学习使用Ftrace分析和定位问题的技巧
  7. Ftrace设计思想和案例分析

03
适合谁学


  1. Linux内核态程序员
  2. 想探索内核层的用户态程序员
  3. Linux内核爱好者
  4. 运维人员
  5. 嵌入式开发人员
  6. 网络设备研发
  7. 内核网络模块开发人员

04
讲师介绍

谢欢Jeff, 目前就职于某国际知名linux发行版开源公司, 热衷于linux内核。我平时把linux内核源码当小说一样阅读学习,也一直把能给linux社区贡献更多有质量的代码而努力.
最近给Linux内核提交了系列补丁objtrace,截至目前有了kprobe maintainer
Tested-by 和 Reviewed-by.
Tested-by: Masami Hiramatsu
Reviewed-by: Masami Hiramatsu
以下是最新patch objtrace源码和邮件列表讨论:
https://github.com/x-lugoo/linux/tree/objtrace-v9
https://lore.kernel.org/all/20220204035644.734878-1-xiehuan09@gmail.com/

05
学员反馈
好评如潮
  • 座舱:学习这门课主要是想增强内核系统问题分析能力,也是最近才接触ftrace,之前工作经验没接触。

  • 手机:学习这门课是因为网络模块和功耗分析的工作会用到,而且对学习其他内核模块有帮助

  • 电信:其实我对内核比较感兴趣,ftrace是一个比较好的观测内核工具,所以想要比较系统的学下。

  • 网络:觉得这个工具挺好的,以前用过,但一知半解,想后期多用来debug;工作中主要想查延时敏感任务被RT线程抢占的原因、rcu stallPage fault等。

  • 云原生:之前tracer的课程听了感觉不错,但是还是以tracer的本身原理为主,实践部分较少,所以想报这次课程

  • OS:我目前在从事linux 操作系统研发相关工作,ftrace是很有价值的功能模块~但是目前大多数人对这部分了解过少,因此报名学习一下~

  • 网络:网络相关的工作会用到,主要是想和大家多交流下,在实战中互相学习吧;

  • 嵌入式:我对内核底层感兴趣,决定了这个是我以后的发展方向,ftrace将会对我熟悉底层,解bug很有帮助


06
报课优惠

【1】4000元/人(为保证学习效果,本次限50人报名,购买过阅码场Ftrace录播课程用户优先,先到先得)

【2】推荐1人购买,报课减200元;推荐公司团报(15人起)免1人学费。

【3】没学会,不满意可以免费继续参加下一期训练营。

【4】完成学业的奖励:终身个人工作推荐。

【5】免费帮企业发布招聘N次。(企业,5个报名人数1次。)


限时特惠!

现在报名即赠送价值399元

《Linux内核tracers的实现原理与应用》

购买过399课程的用户按照实付价格抵扣

活动不与返学费活动同享,2选1


 

07
前2期精彩回顾

Ftrace训练营1期线上合影 

 
Ftrace训练营1期证书

 
阅码场训练营文化衫

 
学员好评

Linux阅码场 专业的Linux技术社区和Linux操作系统学习平台,内容涉及Linux内核,Linux内存管理,Linux进程管理,Linux文件系统和IO,Linux性能调优,Linux设备驱动以及Linux虚拟化和云计算等各方各面.
评论 (0)
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦