| 1 | #excluding core markers (already connected) |
| 2 | #excluding locking markers (high traffic) |
| 3 | |
| 4 | echo Connecting all markers |
| 5 | MARKERS=`cat /proc/ltt|grep -v %k|awk '{print $2 " " $4}'|sort -u|grep -v ^metadata|grep -v ^locking|grep -v ^lockdep` |
| 6 | |
| 7 | #separator is newline |
| 8 | IFS=$ |
| 9 | for a in $MARKERS; do |
| 10 | echo Connecting $a |
| 11 | |
| 12 | echo "connect $a default" > /proc/ltt |
| 13 | # #redirect markers carrying state information to dedicated channels |
| 14 | # case $a in |
| 15 | # list_process_state|list_file_descriptor|user_generic_thread_brand|fs_exec|kernel_process_fork|kernel_process_free|kernel_process_exit|kernel_arch_kthread_create|list_statedump_end|list_vm_map) |
| 16 | # CHANNEL=processes |
| 17 | # ;; |
| 18 | # list_interrupt|statedump_idt_table|statedump_sys_call_table|statedump_softirq_vec) |
| 19 | # CHANNEL=interrupts |
| 20 | # ;; |
| 21 | # list_network_ipv4_interface|list_network_ip_interface) |
| 22 | # CHANNEL=network |
| 23 | # ;; |
| 24 | # list_module|kernel_module_load|kernel_module_free) |
| 25 | # CHANNEL=modules |
| 26 | # ;; |
| 27 | # *) |
| 28 | # CHANNEL= |
| 29 | # ;; |
| 30 | # esac |
| 31 | |
| 32 | done |
| 33 | |
| 34 | |
| 35 | # Connect the interesting high-speed markers to the marker tap. |
| 36 | # Markers starting with "tap_" are considered high-speed. |
| 37 | echo Connecting high-rate markers to tap |
| 38 | MARKERS=`cat /proc/ltt|grep -v %k|awk '{print $2}'|sort -u |grep ^tap_` |
| 39 | |
| 40 | #Uncomment the following to also record lockdep events. |
| 41 | #MARKERS=`cat /proc/ltt|grep -v %k|awk '{print $2}'|sort -u|grep -e ^tap_ -e ^lockdep` |
| 42 | |
| 43 | #separator is newline |
| 44 | IFS=$ |
| 45 | for a in $MARKERS; do |
| 46 | echo Connecting $a |
| 47 | |
| 48 | #redirect markers carrying state information to dedicated channels |
| 49 | case $a in |
| 50 | *) |
| 51 | CHANNEL= |
| 52 | ;; |
| 53 | esac |
| 54 | |
| 55 | echo "connect $a ltt_tap_marker" > /proc/ltt |
| 56 | done |