summaryrefslogtreecommitdiffstats
path: root/container-core
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2021-08-27 16:15:17 +0200
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2021-08-27 16:59:31 +0200
commita4987019e8ec50d15ea589229749684ef48d6c4b (patch)
tree58d66ac28f2bb43e84034dcdf86015565088ab40 /container-core
parent7f8b04cad8adf56d9cc0c8380cbc708bf4b2ed01 (diff)
Prepare script to produce multiple artifacts to output directory.
Rename script. Install to 'bin' instead of 'libexec'.
Diffstat (limited to 'container-core')
-rw-r--r--container-core/CMakeLists.txt2
-rwxr-xr-xcontainer-core/src/main/sh/vespa-jvm-dumper (renamed from container-core/src/main/sh/vespa-jvm-heap-dumper)20
2 files changed, 14 insertions, 8 deletions
diff --git a/container-core/CMakeLists.txt b/container-core/CMakeLists.txt
index 619be29cd8d..75ec63674c4 100644
--- a/container-core/CMakeLists.txt
+++ b/container-core/CMakeLists.txt
@@ -3,4 +3,4 @@ install_config_definitions()
install_java_artifact_dependencies(container-core)
vespa_install_script(src/main/sh/vespa-load-balancer-status libexec/vespa)
-vespa_install_script(src/main/sh/vespa-jvm-heap-dumper libexec/vespa)
+vespa_install_script(src/main/sh/vespa-jvm-dumper bin)
diff --git a/container-core/src/main/sh/vespa-jvm-heap-dumper b/container-core/src/main/sh/vespa-jvm-dumper
index 8157fe5580d..85431d67da3 100755
--- a/container-core/src/main/sh/vespa-jvm-heap-dumper
+++ b/container-core/src/main/sh/vespa-jvm-dumper
@@ -77,12 +77,16 @@ findhost
set -euo pipefail
if [ $# -ne 2 ]; then
- echo "Usage: $0 <service> <output-file>"
+ echo "Usage: $0 <service> <output-directory>"
exit 1
fi
readonly SERVICE=$1
-readonly OUTPUT_FILE=$2
+readonly OUTPUT_DIRECTORY=$2
+if ! [ -d "${OUTPUT_DIRECTORY}" -a -w "${OUTPUT_DIRECTORY}" ]; then
+ echo "Directory '${OUTPUT_DIRECTORY}' is not writable"
+ exit 1
+fi
readonly STATUS=$(vespa-sentinel-cmd list | grep "id=\"${SERVICE}\"")
if [ -z "${STATUS}" ]; then
echo "No service named '${SERVICE}'"
@@ -97,12 +101,14 @@ if ! [[ "${JVM_PID}" =~ ^[0-9]+$ ]]; then
else
echo "Pid for '${SERVICE}' is '${JVM_PID}'"
fi
-if test -f "${OUTPUT_FILE}"; then
- echo "Overwriting existing file ${OUTPUT_FILE}"
- rm "${OUTPUT_FILE}"
-fi
if ! [ -n $(ps -p ${JVM_PID} -o pid=) ]; then
echo "Could not find process for '${JVM_PID}'"
exit 1
fi
-jmap -dump:live,format=b,file=${OUTPUT_FILE} ${JVM_PID}
+
+readonly HEAP_DUMP_FILE=${OUTPUT_DIRECTORY}/heapdump.bin
+if test -f "${HEAP_DUMP_FILE}"; then
+ echo "Overwriting existing file ${HEAP_DUMP_FILE}"
+ rm "${HEAP_DUMP_FILE}"
+fi
+jmap -dump:live,format=b,file=${HEAP_DUMP_FILE} ${JVM_PID}