X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=runlttv;h=ceb6349b8c78e4d68d3091c1c16f8a7a76d6d451;hb=78efd3990573bff80d1aa50d14f5687072f56bf5;hp=82296c3e50df15b7a6284fc14b1ee6cd4eb213fe;hpb=06ed3363a1e822db4bc0ee1b20dac59c0676eaa9;p=lttv.git diff --git a/runlttv b/runlttv index 82296c3e..ceb6349b 100755 --- a/runlttv +++ b/runlttv @@ -4,13 +4,15 @@ # 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 -# - the LTTV_ARGS environment variable may be used to add additional arguments to lttv # # In order for icons to display correctly, it might be necessary to create a # symlink: @@ -19,32 +21,50 @@ RCFILE=".runlttvrc" -ARGS="-L lttv/modules/gui/controlflow/.libs -m guicontrolflow -L lttv/modules/gui/lttvwindow/lttvwindow/.libs -m lttvwindow -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" -LTTV_EXEC="lttv/lttv/.libs/lttv.real" +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 [ ! -e "$LTTV_EXEC" ]; then +if [ -e "lttv/lttv/.libs/lttv.real" ]; then + LTTV_EXEC="lttv/lttv/.libs/lttv.real" +elif [ -e "lttv/lttv/lttv.real" ]; then + LTTV_EXEC="lttv/lttv/lttv.real" +else echo "error: LTTV should be compiled before running this script." >/dev/stderr exit 1 fi -for a in $@; do - eval $(echo $a)"=1" -done +if [ -n "$TF" ]; then + TRACEFILE="-t $TF" +fi if [ -e "$RCFILE" ]; then source "$RCFILE"; fi -ARGS="$ARGS $LTTV_ARGS" - -echo $dbg - -if [ -n "$dbg" ]; then - LD_LIBRARY_PATH=ltt/.libs gdb --args $LTTV_EXEC $ARGS $TRACEFILE -elif [ -n "$valgrind" ]; then - LD_LIBRARY_PATH=ltt/.libs valgrind --show-reachable=yes --leak-check=full $LTTV_EXEC $ARGS $TRACEFILE -elif [ -n "$strace" ]; then - LD_LIBRARY_PATH=ltt/.libs strace $LTTV_EXEC $ARGS $TRACEFILE +HELPER=$1 +if [ "$HELPER" = "gdb" ]; then + shift + LD_LIBRARY_PATH=ltt/.libs gdb --args $LTTV_EXEC $ARGS $TRACEFILE $@ +elif [ "$HELPER" = "valgrind" ]; then + shift + LD_LIBRARY_PATH=ltt/.libs valgrind --track-origins=yes --show-reachable=yes --leak-check=full --error-limit=no $LTTV_EXEC $ARGS $TRACEFILE $@ +elif [ "$HELPER" = "massif" ]; then + shift + LD_LIBRARY_PATH=ltt/.libs valgrind --tool=massif $LTTV_EXEC $ARGS $TRACEFILE $@ +elif [ "$HELPER" = "strace" ]; then + shift + LD_LIBRARY_PATH=ltt/.libs strace $LTTV_EXEC $ARGS $TRACEFILE $@ else - LD_LIBRARY_PATH=ltt/.libs $LTTV_EXEC $ARGS $TRACEFILE + LD_LIBRARY_PATH=ltt/.libs $LTTV_EXEC $ARGS $TRACEFILE $@ fi