X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=runlttv;h=73b7d8ee53741f25eda30e7a131a4fda7d6151e8;hb=205216154e4c9e5ac255f47c37f6f8e589af1c29;hp=5b17940af4f1dee40c0fd0d4e220b8d508a8d1b6;hpb=ad5078daa380dd0caad9c05c62acea276969d418;p=lttv.git diff --git a/runlttv b/runlttv index 5b17940a..73b7d8ee 100755 --- a/runlttv +++ b/runlttv @@ -5,32 +5,21 @@ # This script runs LTTV in place in the compile directory without need for # installing it with make install. # -# Run with the TF environment variable set to a trace directory to open it. -# ex: TF=/my/trace ./runlttv -# -# The .runlttvrc file can be used to control its behavior. -# - by setting the TRACEFILE variable, a trace can be automatically loaded -# ex: TRACEFILE="-t /tmp/traces/dijkstra-20071212" -# - by setting the ARGS variable, a different set of plugins can be loaded -# for an example see the ARGS= line below -# # In order for icons to display correctly, it might be necessary to create a # symlink: # $ ln -s ./lttv/modules/gui/lttvwindow/pixmaps # while in the same directory as this script. -RCFILE=".runlttvrc" +RCFILE="$(dirname $0)/.runlttvrc" -ARGS=\ -"-L lttv/modules/gui/lttvwindow/lttvwindow/.libs -m lttvwindow "\ -"-L lttv/modules/gui/controlflow/.libs -m guicontrolflow "\ -"-L lttv/modules/gui/detailedevents/.libs -m guievents "\ -"-L lttv/modules/gui/tracecontrol/.libs -m guitracecontrol "\ -"-L lttv/modules/gui/statistics/.libs -m guistatistics "\ -"-L lttv/modules/gui/resourceview/.libs -m resourceview "\ -"-L lttv/modules/gui/filter/.libs -m guifilter "\ -"-L lttv/modules/gui/interrupts/.libs -m interrupts "\ -"-L lttv/modules/gui/histogram/.libs -m guihistogram" +function usage { + echo "Usage: $0 OPTIONS TRACES..." >/dev/stderr + echo "" >/dev/stderr + echo "Options:" >/dev/stderr + echo -e "\t-m mode (modes: text)" >/dev/stderr + echo -e "\t-H helper (helpers: gdb, valgrind, massif, strace)" >/dev/stderr + echo "" >/dev/stderr +} if [ -e "lttv/lttv/.libs/lttv.real" ]; then LTTV_EXEC="lttv/lttv/.libs/lttv.real" @@ -41,15 +30,43 @@ else exit 1 fi -if [ -n "$TF" ]; then - TRACEFILE="-t $TF" -fi - if [ -e "$RCFILE" ]; then source "$RCFILE"; fi -HELPER=$1 +while getopts ":hH:m:" options; do + case $options in + H) HELPER=$OPTARG;; + m) MODE=$OPTARG;; + h) usage; + exit 0;; + \?) usage + exit 1;; + *) usage + exit 1;; + esac +done +shift $(($OPTIND - 1)) + +for trace in $@; +do + TRACEFILE="$TRACEFILE -t $trace " +done + +if [ "$MODE" = "text" ]; then + ARGS="-L lttv/modules/text/.libs -m textDump" +else + ARGS="-L lttv/modules/gui/lttvwindow/lttvwindow/.libs -m lttvwindow "\ +"-L lttv/modules/gui/controlflow/.libs -m guicontrolflow "\ +"-L lttv/modules/gui/detailedevents/.libs -m guievents "\ +"-L lttv/modules/gui/tracecontrol/.libs -m guitracecontrol "\ +"-L lttv/modules/gui/statistics/.libs -m guistatistics "\ +"-L lttv/modules/gui/resourceview/.libs -m resourceview "\ +"-L lttv/modules/gui/filter/.libs -m guifilter "\ +"-L lttv/modules/gui/interrupts/.libs -m interrupts "\ +"-L lttv/modules/gui/histogram/.libs -m guihistogram" +fi + if [ "$HELPER" = "gdb" ]; then shift LD_LIBRARY_PATH=ltt/.libs gdb --args $LTTV_EXEC $ARGS $TRACEFILE $@