Home | History | Annotate | Download | only in test.d
      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 }
     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 
     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 
     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`
     37 	if [ "$tr" = "" ]; then
     38 	    continue
     39 	fi
     40 	if [ $tr = "enable_event" -o $tr = "disable_event" ]; then
     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 
     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 }
     75