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
}
-while getopts ":hlLmfsWS:N:" options; do
+while getopts ":hlLmfsWS:N:o:" options; do
case $options in
l) arg_preload_libust=1;;
L) arg_ld_std_ust=1;;
W) where=1;;
S) export UST_SUBBUF_SIZE=$OPTARG;;
N) export UST_SUBBUF_NUM=$OPTARG;;
+ o) OUTPUT_DIR=$OPTARG;;
h) usage;
exit 0;;
\?) usage
fi
# Create directory for trace output
-DATESTRING="$(hostname)-$(date +%Y%m%d%H%M%S%N)"
-OUTDIR="$BASE_TRACE_DIR/$DATESTRING"
-mkdir -p "$OUTDIR"
+if [ -n "$OUTPUT_DIR" ]; then
+ OUTDIR=$OUTPUT_DIR
+else
+ DATESTRING="$(hostname)-$(date +%Y%m%d%H%M%S%N)"
+ OUTDIR="$BASE_TRACE_DIR/$DATESTRING"
+fi
+
+# Check if directory exist
+if [ ! -d "$OUTDIR" ]; then
+ mkdir -p $OUTDIR
+ if [ $? -eq 1 ]; then
+ exit 1
+ fi
+fi
# Choose ustd socket path
USTDSOCKPATH="/tmp/ustd-sock-$$"
if [ "$arg_preload_libust" = "1" ];
then
- if [ -n "${LIBUST_PATH%libust.so}" ] ; then
- export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${LIBUST_PATH%libust.so}"
+ if [ -n "${LIBUST_PATH%libust.so}" ];
+ then
+ if [ -n "$LD_LIBRARY_PATH" ];
+ then
+ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${LIBUST_PATH%libust.so}"
+ else
+ export LD_LIBRARY_PATH="${LIBUST_PATH%libust.so}"
+ fi
+ fi
+ if [ -n "$LIBUST_PATH" ];
+ then
+ if [ -n "$LD_PRELOAD" ];
+ then
+ export LD_PRELOAD="$LD_PRELOAD:$LIBUST_PATH"
+ else
+ export LD_PRELOAD="$LIBUST_PATH"
+ fi
fi
- export LD_PRELOAD="$LD_PRELOAD:$LIBUST_PATH"
fi
- if [ "$arg_ld_std_ust" = "1" ];
+ if [ "$arg_ld_std_ust" = "1" ] && [ -n "${LIBUST_PATH%libust.so}" ];
then
- if [ -n "$${LIBUST_PATH%libust.so}" ] ; then
- export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${LIBUST_PATH%libust.so}"
+ if [ -n "$LD_LIBRARY_PATH" ];
+ then
+ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${LIBUST_PATH%libust.so}"
+ else
+ export LD_LIBRARY_PATH="${LIBUST_PATH%libust.so}"
fi
fi
- if [ "$arg_preload_malloc" = "1" ];
+ if [ "$arg_preload_malloc" = "1" ] && [ -n "$LIBMALLOCWRAP_PATH" ];
then
- export LD_PRELOAD="$LD_PRELOAD:$LIBMALLOCWRAP_PATH"
+ if [ -n "$LD_PRELOAD" ];
+ then
+ export LD_PRELOAD="$LD_PRELOAD:$LIBMALLOCWRAP_PATH"
+ else
+ export LD_PRELOAD="$LIBMALLOCWRAP_PATH"
+ fi
fi
- if [ "$arg_preload_fork" = "1" ];
+ if [ "$arg_preload_fork" = "1" ] && [ -n "$LIBINTERFORK_PATH" ];
then
- export LD_PRELOAD="$LD_PRELOAD:$LIBINTERFORK_PATH"
+ if [ -n "$LD_PRELOAD" ];
+ then
+ export LD_PRELOAD="$LD_PRELOAD:$LIBINTERFORK_PATH"
+ else
+ export LD_PRELOAD="$LIBINTERFORK_PATH"
+ fi
fi
# Execute the command