Я пытаюсь отфильтровать вывод трассировки, расположенный в /sys/kernel/debug/tracing/trace
, содержимое строки которого выглядит следующим образом:
kworker/4:2-1892 [004] .... 2186.662751: rtos_queue_send_from_isr_failed: tstamp:68702870649 queue:0x0b4b0e58
kworker/4:2-1892 [004] .... 2186.662752: rtos_queue_send_from_isr_failed: tstamp:68702870787 queue:0x0b4b1c18
kworker/4:2-1892 [004] .... 2186.662752: rtos_queue_send_failed: tstamp:68702872258 queue:0x0b4a7258
kworker/4:2-1892 [004] .... 2186.662754: rtcpu_vinotify_event: tstamp:68702873824 tag:CSIMUX_STREAM channel:0xff frame:1 vi_tstamp:68702873242 data:0x00000001
kworker/4:2-1892 [004] .... 2186.662755: rtcpu_vinotify_event: tstamp:68703270221 tag:CHANSEL_PXL_SOF channel:0x00 frame:45313 vi_tstamp:68703269252 data:0x00000001
kworker/4:2-1892 [004] .... 2186.662755: rtcpu_vinotify_event: tstamp:68703270387 tag:ATOMP_FS channel:0x00 frame:45313 vi_tstamp:68703269257 data:0x00000000
kworker/4:2-1892 [004] .... 2186.662756: rtcpu_vinotify_event: tstamp:68703270504 tag:CHANSEL_FAULT channel:0x00 frame:45313 vi_tstamp:68703269302 data:0x00000200
kworker/4:2-1892 [004] .... 2186.662756: rtcpu_vinotify_event: tstamp:68703270903 tag:CSIMUX_STREAM channel:0xff frame:2 vi_tstamp:68703269326 data:0x00000001code:0404
Чтобы отфильтровать его, я хочу получить только события, поступающие с rtcpu_vinotify_event
и этот тег не является CSIMUX_STREAM
или CHANSEL_PXL_SOF
.
. На данный момент я получил следующий вывод
kworker/4:2-1892 [004] .... 2186.662755: rtcpu_vinotify_event: tstamp:68703270387 tag:ATOMP_FS channel:0x00 frame:45313 vi_tstamp:68703269257 data:0x00000000
kworker/4:2-1892 [004] .... 2186.662756: rtcpu_vinotify_event: tstamp:68703270504 tag:CHANSEL_FAULT channel:0x00 frame:45313 vi_tstamp:68703269302 data:0x00000200
с помощью следующей команды
cat /sys/kernel/debug/tracing/trace | grep -v -e "rtos_queue_send_failed" -e "rtos_queue_send_from_isr_failed" -e "CSIMUX_STREAM" -e "CHANSEL_PXL_SOF"
В любом случае, в выводе есть какая-то нерелевантная информация, которую я хотел бы опустить в выводе (начало строки до rtcpu_vinotify_event
и tstamp
/ vi_tstamp
), так что я бы получил что-то вроде это:
rtcpu_vinotify_event: tag:ATOMP_FS channel:0x00 frame:45313 data:0x00000000
rtcpu_vinotify_event: tag:CHANSEL_FAULT channel:0x00 frame:45313 data:0x00000200
или, если tstamps
сложно избежать,
rtcpu_vinotify_event: tstamp:68703270387 tag:ATOMP_FS channel:0x00 frame:45313 vi_tstamp:68703269257 data:0x00000000
rtcpu_vinotify_event: tstamp:68703270504 tag:CHANSEL_FAULT channel:0x00 frame:45313 vi_tstamp:68703269302 data:0x00000200
Наконец, я включил rtcpu_vinotify_event
сообщений, исключив rtos_queue_send_from_isr_failed
и rtos_queue_send_failed
Сообщения. Если есть способ сделать это так, чтобы это было не исключение, а включение строки rtcpu_vinotify_event
, это было бы намного лучше, или если вам легче с find
, у меня нет никаких предпочтений.