X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=usttrace;h=e76dae71be1f6590e1ea487bde1ba3c4921ddea3;hb=9edd34bd25f52dd39b354a84f02697254121aefd;hp=5d6729ebe356a59a662db96421cf619676f8c2be;hpb=9dc7b7ff797a5cbb1e9ffd59e053a04562f306c4;p=ust.git diff --git a/usttrace b/usttrace index 5d6729e..e76dae7 100755 --- a/usttrace +++ b/usttrace @@ -1,22 +1,22 @@ -#!/bin/bash +#!/bin/sh # usttrace by Pierre-Marc Fournier 2009 # Distributed under the GPLv2. -function error() { - echo "$0: error: $1" 2>/dev/stderr +error() { + echo "$0: error: $1" 1>&2 } -function sighandler() { +sighandler() { echo "Caught Ctrl-C" - if [ -z "$UST_CONSUMERDPID" ]; then - UST_CONSUMERDPID="$(<$pidfilepath)" + if [ -z "${UST_CONSUMERD_PID}" ]; then + UST_CONSUMERD_PID=`cat $pidfilepath` fi # Tell the daemon to die - kill -SIGTERM "$UST_CONSUMERDPID" + kill -TERM "${UST_CONSUMERD_PID}" echo "Waiting for ust-consumerd to shutdown..." - wait "$UST_CONSUMERDPID" + wait "${UST_CONSUMERD_PID}" rm "$pidfilepath" @@ -44,19 +44,19 @@ fi BASE_TRACE_DIR="${HOME}/.usttraces" -function usage () { - echo "usage: $0 OPTIONS COMMAND" 2>/dev/stderr - echo "" 2>/dev/stderr - echo "Options:" 2>/dev/stderr - echo " -l Runtime link with UST library." 2>/dev/stderr - echo " (Needed only if program was not linked at compile time with libust.)" 2>/dev/stderr - echo " -L Add path to ust libraries to LD_LIBRARY_PATH." 2>/dev/stderr - echo " -m Instrument malloc calls." 2>/dev/stderr - echo " -f Also trace forked processes." 2>/dev/stderr - echo " -s Use system-wide daemon instead of creating one for this session." 2>/dev/stderr - echo " -S Specify the subbuffer size." 2>/dev/stderr - echo " -N Specify the number of subbuffers." 2>/dev/stderr - echo " -o Output directory of the trace." 2>/dev/stderr +usage() { + echo "usage: $0 OPTIONS COMMAND" 1>&2 + echo "" 1>&2 + echo "Options:" 1>&2 + echo " -l Runtime link with UST library." 1>&2 + echo " (Needed only if program was not linked at compile time with libust.)" 1>&2 + echo " -L Add path to ust libraries to LD_LIBRARY_PATH." 1>&2 + echo " -m Instrument malloc calls." 1>&2 + echo " -f Also trace forked processes." 1>&2 + echo " -s Use system-wide daemon instead of creating one for this session." 1>&2 + echo " -S Specify the subbuffer size." 1>&2 + echo " -N Specify the number of subbuffers." 1>&2 + echo " -o Output directory of the trace." 1>&2 } while getopts ":hlLmfsWS:N:o:" options; do @@ -118,15 +118,15 @@ if [ ! -d "$OUTDIR" ]; then fi # Choose ust-consumerd socket path -UST_CONSUMERDSOCKPATH="/tmp/ust-consumerd-sock-$$" +UST_CONSUMERD_SOCKPATH="/tmp/ust-consumerd-sock-$$" if [ "$arg_syswide_daemon" != "1" ]; then pidfilepath="/tmp/usttrace-$USER-$(date +%Y%m%d%H%M%S%N)-ust-consumerd-pid" - trap "sighandler $pidfilepath" SIGINT + trap "sighandler $pidfilepath" INT mkfifo -m 0600 "$pidfilepath" # Start daemon - $UST_CONSUMERD --pidfile "$pidfilepath" -s "$UST_CONSUMERDSOCKPATH" -o "$OUTDIR" >"$OUTDIR/ust-consumerd.log" 2>&1 & + ${UST_CONSUMERD} --pidfile "$pidfilepath" -s "${UST_CONSUMERD_SOCKPATH}" -o "$OUTDIR" >"$OUTDIR/ust-consumerd.log" 2>&1 & # ust-consumerd sets up its server socket # ust-consumerd opens the pidfile, blocks because no one has opened it # we open pidfile @@ -134,8 +134,8 @@ then # ust-consumerd writes to pidfile # ust-consumerd closes pidfile # we unblock reading pidfile - UST_CONSUMERDPID="$(<$pidfilepath)" - export UST_DAEMON_SOCKET="$UST_CONSUMERDSOCKPATH" + UST_CONSUMERD_PID=`cat $pidfilepath` + export UST_DAEMON_SOCKET="${UST_CONSUMERD_SOCKPATH}" fi # Establish the environment for the command @@ -206,10 +206,10 @@ fi if [ "$arg_syswide_daemon" != "1" ]; then # Tell the daemon to die - kill -SIGTERM "$UST_CONSUMERDPID" + kill -TERM "${UST_CONSUMERD_PID}" echo "Waiting for ust-consumerd to shutdown..." - wait "$UST_CONSUMERDPID" + wait "${UST_CONSUMERD_PID}" rm "$pidfilepath" fi