Steven Rostedt (Red Hat) | ee3988c | 2014-11-03 15:36:35 -0500 | [diff] [blame] | 1 | |
| 2 | clear_trace() { # reset trace output |
| 3 | echo > trace |
| 4 | } |
| 5 | |
| 6 | disable_tracing() { # stop trace recording |
| 7 | echo 0 > tracing_on |
| 8 | } |
| 9 | |
| 10 | enable_tracing() { # start trace recording |
| 11 | echo 1 > tracing_on |
| 12 | } |
| 13 | |
| 14 | reset_tracer() { # reset the current tracer |
| 15 | echo nop > current_tracer |
| 16 | } |
Masami Hiramatsu | cfa0963 | 2016-03-03 12:55:00 -0600 | [diff] [blame] | 17 | |
| 18 | reset_trigger() { # reset all current setting triggers |
| 19 | grep -v ^# events/*/*/trigger | |
| 20 | while read line; do |
| 21 | cmd=`echo $line | cut -f2- -d: | cut -f1 -d" "` |
| 22 | echo "!$cmd" > `echo $line | cut -f1 -d:` |
| 23 | done |
| 24 | } |
| 25 | |
Masami Hiramatsu | 131f840 | 2016-11-16 17:13:02 +0900 | [diff] [blame] | 26 | reset_events_filter() { # reset all current setting filters |
| 27 | grep -v ^none events/*/*/filter | |
| 28 | while read line; do |
| 29 | echo 0 > `echo $line | cut -f1 -d:` |
| 30 | done |
| 31 | } |
| 32 | |
Steven Rostedt (VMware) | 8e5e19c | 2017-04-17 17:30:08 -0400 | [diff] [blame] | 33 | reset_ftrace_filter() { # reset all triggers in set_ftrace_filter |
| 34 | echo > set_ftrace_filter |
| 35 | grep -v '^#' set_ftrace_filter | while read t; do |
| 36 | tr=`echo $t | cut -d: -f2` |
Naveen N. Rao | d2ffb8d | 2017-05-16 23:21:27 +0530 | [diff] [blame] | 37 | if [ "$tr" = "" ]; then |
Steven Rostedt (VMware) | 8e5e19c | 2017-04-17 17:30:08 -0400 | [diff] [blame] | 38 | continue |
| 39 | fi |
Naveen N. Rao | d2ffb8d | 2017-05-16 23:21:27 +0530 | [diff] [blame] | 40 | if [ $tr = "enable_event" -o $tr = "disable_event" ]; then |
Steven Rostedt (VMware) | 8e5e19c | 2017-04-17 17:30:08 -0400 | [diff] [blame] | 41 | tr=`echo $t | cut -d: -f1-4` |
| 42 | limit=`echo $t | cut -d: -f5` |
| 43 | else |
| 44 | tr=`echo $t | cut -d: -f1-2` |
| 45 | limit=`echo $t | cut -d: -f3` |
| 46 | fi |
| 47 | if [ "$limit" != "unlimited" ]; then |
| 48 | tr="$tr:$limit" |
| 49 | fi |
| 50 | echo "!$tr" > set_ftrace_filter |
| 51 | done |
| 52 | } |
| 53 | |
Masami Hiramatsu | 131f840 | 2016-11-16 17:13:02 +0900 | [diff] [blame] | 54 | disable_events() { |
| 55 | echo 0 > events/enable |
| 56 | } |
| 57 | |
| 58 | initialize_ftrace() { # Reset ftrace to initial-state |
| 59 | # As the initial state, ftrace will be set to nop tracer, |
| 60 | # no events, no triggers, no filters, no function filters, |
| 61 | # no probes, and tracing on. |
| 62 | disable_tracing |
| 63 | reset_tracer |
| 64 | reset_trigger |
| 65 | reset_events_filter |
| 66 | disable_events |
| 67 | echo > set_event_pid # event tracer is always on |
| 68 | [ -f set_ftrace_filter ] && echo | tee set_ftrace_* |
| 69 | [ -f set_graph_function ] && echo | tee set_graph_* |
| 70 | [ -f stack_trace_filter ] && echo > stack_trace_filter |
| 71 | [ -f kprobe_events ] && echo > kprobe_events |
| 72 | [ -f uprobe_events ] && echo > uprobe_events |
| 73 | enable_tracing |
| 74 | } |