File: //usr/share/opensearch/bin/opensearch-performance-analyzer/performance-analyzer-agent
#!/bin/bash
if [[ "$START_PERF_ANALYZER" = "false" ]]; then
echo "Not starting performance-analyzer-agent"
exit 0
fi
if [[ -z "$1" ]]; then
if [[ -z "$OPENSEARCH_HOME" ]]; then
echo "OPENSEARCH_HOME needs to be set or passed in as the first parameter."
exit 1
fi
else
OPENSEARCH_HOME=$1
fi
if [ ! -z "$2" ]; then
JAVA_HOME=$2
elif [ ! -z "$OPENSEARCH_JAVA_HOME" ]; then
# Use OPENSEARCH_JAVA_HOME if present
JAVA_HOME=$OPENSEARCH_JAVA_HOME
elif [ -z "$JAVA_HOME" ]; then
# Nor OPENSEARCH_JAVA_HOME nor JAVA_HOME is present, failing
echo "OPENSEARCH_JAVA_HOME / JAVA_HOME needs to be set or passed in as the second parameter."
exit 1
fi
echo "Using JAVA_HOME: $JAVA_HOME"
export JAVA_HOME=$JAVA_HOME
if [[ -z "$OPENSEARCH_PATH_CONF" ]]; then
echo "OPENSEARCH_PATH_CONF needs to be set."
exit 1
fi
echo "Using OPENSEARCH_PATH_CONF: $OPENSEARCH_PATH_CONF"
if ! echo $* | grep -E '(^-d |-d$| -d |--daemonize$|--daemonize )' > /dev/null; then
export JAVA_OPTS=-Dopensearch.path.home=$OPENSEARCH_HOME\ -Dopensearch.path.conf=$OPENSEARCH_PATH_CONF\ -Dlog4j.configurationFile=$OPENSEARCH_HOME/performance-analyzer-rca/config/log4j2.xml\ -XX:+ExitOnOutOfMemoryError
exec $OPENSEARCH_HOME/performance-analyzer-rca/bin/performance-analyzer-rca
else
echo 'Starting deamon'
export JAVA_OPTS=-Dopensearch.path.home=$OPENSEARCH_HOME\ -Dopensearch.path.conf=$OPENSEARCH_PATH_CONF\ -Dlog4j.configurationFile=$OPENSEARCH_HOME/performance-analyzer-rca/config/log4j2.xml\ -XX:+ExitOnOutOfMemoryError
exec $OPENSEARCH_HOME/performance-analyzer-rca/bin/performance-analyzer-rca &
pid=$!
PID_LOC=/tmp/performance-analyzer-agent
if [ -n "$4" ]; then
PID_LOC=$4
fi
if ! ps -p $pid > $PID_LOC ; then
exit 1
fi
fi