HEX
Server: nginx/1.24.0
System: Linux nowruzgan 6.8.0-57-generic #59-Ubuntu SMP PREEMPT_DYNAMIC Sat Mar 15 17:40:59 UTC 2025 x86_64
User: babak (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
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