Fix: Snapshot should be taken asap in core handler script
[lttng-tools.git] / extras / core-handler / handler.sh
index 3026e52f9a90baeae8bdf4d0f3f18b2d983a4195..c2d24027b42224bd31a368d2da9266c69eceb23e 100755 (executable)
@@ -23,18 +23,22 @@ PGREP_BIN="pgrep"
 MKDIR_BIN="mkdir"
 LTTNG_BIN="lttng"
 
-# Core file settings.
-CORE_PATH="/tmp/lttng/core"
-CORE_PREFIX="core"
-
-# Folder where to save snapshot output.
-# Can also be a remote URI.
-SNAPSHOT_PATH="/tmp/lttng/snapshot"
-SNAPSHOT_OUTPUT="file://${SNAPSHOT_PATH}"
+# Session name
+SESSION_NAME="coredump-handler"
 
 # Sessiond binary name.
 SESSIOND_BIN_NAME="lttng-sessiond"
 
+# TODO: Checking for a sessiond lockfile would be more appropriate.
+if $PGREP_BIN -u root "${SESSIOND_BIN_NAME}" > /dev/null 2>&1
+then
+    $LTTNG_BIN snapshot record -s ${SESSION_NAME} > /dev/null 2>&1
+fi
+
+# Core file settings.
+CORE_PATH="/tmp/lttng/core"
+CORE_PREFIX="core"
+
 # Core specifiers, see man core(5)
 
 p=$1 # PID of dumped process
@@ -56,17 +60,3 @@ $CAT_BIN - > "${CORE_PATH}/${CORE_PREFIX}.$p"
 
 # Optional, chain core dump handler with original systemd script.
 #$CAT_BIN - | /usr/lib/systemd/systemd-coredump $p $u $g $s $t $e
-
-# TODO: Checking for a sessiond lockfile would be more appropriate.
-if $PGREP_BIN -u root "${SESSIOND_BIN_NAME}" > /dev/null 2>&1
-then
-    # Since we are called via the kernel coredump mechanism, we need to
-    # setup our environment manually.
-    #
-    # The lttng command line tool lookup $HOME to adjust the .lttngrc
-    # path. This is useful to have automatic session name lookup.
-    export HOME="/root"
-    $MKDIR_BIN -p "${SNAPSHOT_PATH}"
-    $LTTNG_BIN snapshot add-output "${SNAPSHOT_OUTPUT}" > /dev/null 2>&1
-    $LTTNG_BIN snapshot record > /dev/null 2>&1
-fi
This page took 0.024538 seconds and 5 git commands to generate.