#!/bin/sh

NAME=direct-user-action-log-writer
GC_LOG="/var/log/yandex/$NAME.gc.log"

# MEM_FOR_HEAP передаётся из run-скрипта
MEM_OPTS="-Xmx${MEM_FOR_HEAP:-16}G"

ulimit -v unlimited

JAVA_OPTS="$MEM_OPTS \
    -Dfile.encoding=UTF-8 \
    -Djava.net.preferIPv4Stack=false -Djava.net.preferIPv6Addresses=true \
    -Dsun.net.inetaddr.ttl=60 -Dsun.net.inetaddr.negative.ttl=0 \
    -XX:-UsePerfData \
    -XX:+UseG1GC \
    -XX:MaxGCPauseMillis=100 \
    -Xlog:gc*=info,safepoint=info,age*=trace:file=$GC_LOG:time,uptime,level,tags:filecount=8,filesize=100M \
    -XX:+CrashOnOutOfMemoryError \
    -XX:+HeapDumpOnOutOfMemoryError \
    -XX:-OmitStackTraceInFastThrow \
    -XX:HeapDumpPath=/var/log/yandex/$NAME.hprof"

# для запускаемых приложением процессов mysql, чтобы их можно было отследить по содержимому /proc/.../environ
export DIRECT_ALW_PID="$$"

PROG_OPTS="--log-configs-directory /etc/direct/$NAME/logging-config"

JAVA_ARGS=" -cp /var/www/$NAME/lib/*:  -Djava.library.path=/var/www/$NAME/lib ru.yandex.direct.useractionlog.writer.UserActionLogTool $PROG_OPTS"
exec /usr/local/yandex-direct-jdk11/bin/java ${JAVA_OPTS} ${JAVA_ARGS} $@
