zoukankan      html  css  js  c++  java
  • tracer ftrace笔记(2)——添加与使用

     一、对于power相关的加trace

    1. 在头文件trace/events/power.h中添加:

    TRACE_EVENT(wakeup_reasons_tracer_test,
            TP_PROTO(const char *irq_name, int choose_flag),
            TP_ARGS(irq_name, choose_flag),
            TP_STRUCT__entry(
                __string(irq_name, irq_name)
                __field(int, choose_flag)
            ),
            TP_fast_assign(
                __assign_str(irq_name, irq_name);
                __entry->choose_flag = choose_flag;
            ),
            TP_printk("irq_name=%s choose_flag=%d",
                  __get_str(irq_name),
                  __entry->choose_flag
            )
    );

    2. 源文件中使用

    (1)  包含头文件

    #include <trace/events/power.h>

    (2)  函数中使用

    int wakeup_reasons_tracer_test(const char *irq_name, int choose_flag)
    {
        ...
        trace_wakeup_reasons_tracer_test(irq_name, choose_flag)
        ...
    }

    (3)  打开抓这个trace

    # echo wakeup_reasons_tracer_test > /sys/kernel/tracing/set_event
    # > /sys/kernel/tracing/trace //清空缓存
    # cat /sys/kernel/tracing/trace_pipe | grep wakeup_reasons_tracer_test //查看wakeup_reasons_tracer_test调用

    Binder:702_2-7684  [006] ....  2365.019705: wakeup_reasons_tracer_test: irq_name=abort choose_flag=16384
    Binder:702_2-7684  [000] d...  2366.087044: wakeup_reasons_tracer_test: irq_name=ccdetect-change choose_flag=248
    Binder:702_2-7684  [000] dnh1  2366.087295: wakeup_reasons_tracer_test: irq_name=ccdetect-change choose_flag=3
          <idle>-0     [000] dnh1  2366.185204: wakeup_reasons_tracer_test: irq_name=alarm choose_flag=4

    二、trace的filter功能

    1.例子

    # echo 1 > sched/sched_switch/enable
    # echo "next_comm == xxx" > sched/sched_switch/filter  (filter 格式可以cat format 同目录下获得) TODO: 测试!
    
    # echo 1 > sched/sched_wakeup/enable
    # echo "next_comm == xxx" > sched/sched_wakeup/filter
    
    # echo 1 > sched/sched_migrate/enable
    # echo "next_comm == xxx" > sched/sched_migrate/filter
    
    # echo 2048 > buffer_size_kb
    # echo 1 > tracing_on
  • 相关阅读:
    2、消失的路由,源码的解析基础
    1、v1 与 v2的比较
    uwp 之后台音频
    uwp 之多媒体开发
    UWP 动画之路径
    uwp 动画之圆的放大与缩小
    uwp 中的动画
    C# 输入法
    uwp 之资源的访问
    uwp 之吐司 toast
  • 原文地址:https://www.cnblogs.com/hellokitty2/p/14165517.html
Copyright © 2011-2022 走看看