6d1f6edc6f44df01be01c42967c0ab8b9597e68a
[lttngtop.git] / utils / lttngtop-live-simple.sh
1 #!/bin/bash
2
3 # Setup a live LTTng session on localhost
4
5 SESSION_NAME="lttngtop-live-simple"
6 DEBUG=">/dev/null"
7
8 pgrep -u root lttng-sessiond >/dev/null
9 if test $? != 0; then
10 echo "Starting lttng-sessiond as root (trying sudo, start manually if \
11 it fails)"
12 sudo lttng-sessiond -d
13 if test $? != 0; then
14 exit 1
15 fi
16 fi
17
18 pgrep lttng-relayd >/dev/null
19 if test $? != 0; then
20 echo "Starting lttng-relayd as your current user, start manually if \
21 it fails"
22 lttng-relayd -d
23 if test $? != 0; then
24 exit 1
25 fi
26 fi
27
28 SUDO=""
29 groups|grep tracing >/dev/null
30 if test $? != 0; then
31 echo "You are not a member of the tracing group, so you need root \
32 access, the script will try with sudo"
33 SUDO="sudo"
34 fi
35
36 # check if lttng command if in the path
37 # check if the user can execute the command (with sudo if not in tracing group)
38 # check if lttng-modules is installed
39 $SUDO lttng list -k | grep sched_switch >/dev/null
40 if test $? != 0; then
41 echo "Something went wrong executing \"$SUDO lttng list -k | grep sched_switch\", \
42 try to fix the problem manually and then start the script again"
43 fi
44
45 lttng create $SESSION_NAME --live 1000000 -U net://localhost >/dev/null
46 [[ $? != 0 ]] && exit 2
47 lttng enable-event -s $SESSION_NAME -k lttng_statedump_start,lttng_statedump_end,lttng_statedump_process_state,lttng_statedump_file_descriptor,lttng_statedump_vm_map,lttng_statedump_network_interface,lttng_statedump_interrupt,sched_process_free,sched_switch,sched_process_fork >/dev/null
48 [[ $? != 0 ]] && exit 2
49 lttng enable-event -s $SESSION_NAME -k --syscall -a >/dev/null
50 [[ $? != 0 ]] && exit 2
51 lttng add-context -s $SESSION_NAME -k -t pid -t procname -t tid -t ppid -t perf:cache-misses -t perf:major-faults -t perf:branch-load-misses >/dev/null
52 [[ $? != 0 ]] && exit 2
53 lttng start $SESSION_NAME >/dev/null
54 [[ $? != 0 ]] && exit 2
55
56 s=$(lttngtop -r net://localhost | grep $SESSION_NAME)
57 if test $? != 0; then
58 echo "Problem executing lttngtop -r net://localhost | grep $SESSION_NAME"
59 exit 1
60 fi
61
62 lttngtop -r $(echo $s|cut -d' ' -f1)
63
64 lttng destroy $SESSION_NAME >/dev/null
65 echo -n "Destroy $HOME/lttng-traces/$HOSTNAME/${SESSION_NAME}* (Y/n) ? "
66 read a
67 if test $a = 'y' -o $a = 'Y'; then
68 rm -rf $HOME/lttng-traces/$HOSTNAME/${SESSION_NAME}*
69 fi
This page took 0.03 seconds and 4 git commands to generate.