Возможно ли сбросить только trace_printk()
выходы в файле trace
? Я имею в виду отфильтровать все функции в функции tracer (или любой другой трассировщик).ftrace: Только вывод на печать trace_printk()
2
A
ответ
0
В общем, вы можете отключить опции внутри каталога опций, /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, если у вас есть сомнения. Там также была отличная статья из лузги, которая помогла мне, когда я впервые изучил фрейс под названием Secrets of the Ftrace function tracer, в котором есть некоторые разделы о фильтрации в целом.
Насколько я помню, запись 'none' в файл' current_tracer' делает именно это: сохраняется только вывод 'trace_printk()'. Не могу проверить сейчас. – Tsyvarev
@ Цыварев, спасибо. Но 'none' является недопустимым значением. ('nop' есть, но он используется для удаления всех трассировщиков из трассировки.) – Ravi