摩登3注册平台官网_Ftrace实战训练营(第3期) | 仅剩最后5个名额~



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


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



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





01
课程大纲

第一部分 实验课程2小时) 1. ftrace总体介绍2. function tracer3. 查看函数是否执行4. 查看函数向上的调用栈(堆栈)5. set_ftrace_filter一招制胜6. 练习查看函数是否执行和获取对应的堆栈
第二部分2小时) 7. function_graph tracer8. 查看函数执行时间9. 查看函数向下的调用栈10. 同时查看函数向上和向下的调用栈11. 练习查看函数的执行时间和向下的调用栈
第三部分2小时) 12. kprobe event13. trace event14. kprobe/tracepointevent结合15. probes event 结合16. vfsevent结合17. event filter18. event trigger19. 练习kprobe eventtrace event的使用
第四部分2小时) 20. function tracer21. Function graph tracer22. wakeup23. blk24. 练习各种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




05
学员反馈
好评如潮



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

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

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

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

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

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

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

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