ftrace的使用总结

基于qemu的ftrace的使用方式

1、在编译linux时,增加配置选项

    CONFIG_FTRACE=y

    CONFIG_HAVE_FUNCTION_TRACER=y
    CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
    CONFIG_HAVE_DYNAMIC_FTRACE=y

    CONFIG_FUNCTION_TRACER=y
    CONFIG_IRQSOFF_TRACER=y
    CONFIG_PREEMPT_TRACER=y
    CONFIG_SCHED_TRACER=y
    CONFIG_HWLAT_TRACER=y

    CONFIG_FTRACE_SYSCALLS=y

    CONFIG_ENABLE_DEAFULT_TRACERS=y

2、系统启动之后,挂在debugfs

    命令:mount -t debugfs debugfs /sys/kernel/debug

3、在/sys/kernel/debug/tracing 下有各种跟踪器(tracer)和事件(event)

选项的定义:

  •     available_tracers:列出当前系统支持的跟踪器
  •     available_events:列出当前系统支持的event事件
  •     current_tracer:设置和显示当前正在使用的跟踪器
  •     trace:读取跟踪信息
  •     tracing_on:开始和暂停跟踪
  •     trace_options:设置ftrace的一些相关属性

4、使用方式:(在目标机执行)

(1)切换到trace目录: cd /sys/kernel/debug/tracing

(2)设置trace类型:irqsoff/preemptoff/preemptirqoff/function/function_graph

        eg: echo irqsoff > current_tracer   

        动态ftrace:echo hrtimer_interrupt > set_ftrace_filter   (举例说明函数过滤器)

(3)开始trace检测:echo 1 > tracing_on

(4)停止检测:echo 0 > tracing_on

(5)打印trace结果:cat trace


你可能感兴趣的:(linux)