【问题标题】:ftrace: Only print output of trace_printk()ftrace:仅打印 trace_printk() 的输出
【发布时间】:2016-10-02 04:54:22
【问题描述】:

是否可以只在trace 文件中转储trace_printk() 输出?我的意思是过滤掉函数跟踪器(或任何其他跟踪器)中的所有函数。

【问题讨论】:

  • 据我记得,将none 写入current_tracer 文件就是这样做的:只存储trace_printk() 输出。现在无法检查。
  • @Tsyvarev,谢谢。但是none 是无效值。 (nop 存在,但它用于从跟踪中删除所有跟踪器。)
  • 我认为他的意思是nop,它有效。

标签: linux linux-kernel trace ftrace


【解决方案1】:

对于一些无法从该线程获得更多信息的人... 实际上,如果你使用 nop 作为 current_tracer,你将忽略除 trace_printk 之外的所有跟踪。

echo nop > current_tracer

并运行您的内核模块或任何其他包含您的 trace_printk 的东西。

【讨论】:

    【解决方案2】:

    通常,您可以在选项目录/sys/kernel/debug/tracing/options 中关闭选项。使用ls 显示所有可切换的选项。

    # ls
    annotate     context-info     funcgraph-abstime   funcgraph-overhead  func_stack_trace  hex             overwrite        record-cmd  sym-offset       trace_printk
    bin          disable_on_free  funcgraph-cpu       funcgraph-overrun   function-fork     irq-info        printk-msg-only  sleep-time  sym-userobj      userstacktrace
    blk_classic  display-graph    funcgraph-duration  funcgraph-proc      function-trace    latency-format  print-parent     stacktrace  test_nop_accept  verbose
    block        event-fork       funcgraph-irqs
    

    通过echo切换选项,即,

    echo -n "1" > /sys/kernel/debug/tracing/options/trace_printk

    如果您尝试过滤掉不是由trace_printk() 生成的任何输出,您可能需要确保trace_printk() 是唯一的选项集。

    如有疑问,最好查看kernel documentation。还有一篇很棒的 lwn 文章在我第一次学习 ftrace 时帮助了我,名为 Secrets of the Ftrace function tracer,其中包括一些关于一般过滤的部分。

    【讨论】:

    • 我试试你所说的,echo -n "1" > /sys/kernel/debug/tracing/options/trace_printk,并确保 trace_printk 是唯一的选项集。 /sys/kernel/debug/tracing/trace 仍然会在我安装相关模块时打印出 available_filter_functions 名称。
    • @codeexplorer 我相信这些是输出 trace_printk()s 的函数
    • 我正在跟踪 null_blk 块模块。我确信 trace_printk() 是唯一的选项集。然后我检查了 /sys/kernel/debug/tracing/trace 的输出,它列出了 null_del_dev、null_init、null_alloc_dev、null_add_dev 等等。但显然,这些函数不会调用 trace_printk()。我误解了什么吗?请给我提示。
    猜你喜欢
    • 1970-01-01
    • 2015-07-25
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多