X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=extras%2Fcore-handler%2Fhandler.sh;h=c2d24027b42224bd31a368d2da9266c69eceb23e;hp=3026e52f9a90baeae8bdf4d0f3f18b2d983a4195;hb=HEAD;hpb=57f0bd0c140c6a5b1f48b45a6680c55348ddbe96 diff --git a/extras/core-handler/handler.sh b/extras/core-handler/handler.sh index 3026e52f9..631df9d64 100755 --- a/extras/core-handler/handler.sh +++ b/extras/core-handler/handler.sh @@ -1,40 +1,31 @@ #!/bin/sh # -# Copyright (C) 2013 - Christian Babeux +# Copyright (C) 2013 Christian Babeux # -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; only version 2 -# of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# SPDX-License-Identifier: GPL-2.0-only # # System binaries paths. CAT_BIN="cat" 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 +47,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