logstash/bin/setup.bat
2016-12-01 23:20:38 -05:00

93 lines
2.9 KiB
Batchfile

@echo off
for %%I in ("%SCRIPT_DIR%..") do set LS_HOME=%%~dpfI
if "%USE_RUBY%" == "1" (
goto setup_ruby
) else (
goto setup_jruby
)
:setup_ruby
set RUBYCMD=ruby
set VENDORED_JRUBY=
goto finally
:setup_jruby
REM setup_java()
if not defined JAVA_HOME IF EXIST %ProgramData%\Oracle\java\javapath\java.exe (
for /f "tokens=2 delims=[]" %%a in ('dir %ProgramData%\Oracle\java\javapath\java.exe') do @set JAVA_EXE=%%a
)
if defined JAVA_EXE set JAVA_HOME=%JAVA_EXE:\bin\java.exe=%
if defined JAVA_EXE echo Using JAVA_HOME=%JAVA_HOME% retrieved from %ProgramData%\Oracle\java\javapath\java.exe
if not defined JAVA_HOME goto missing_java_home
REM ***** JAVA options *****
if "%LS_HEAP_SIZE%" == "" (
set LS_HEAP_SIZE=1g
)
IF NOT "%JAVA_OPTS%" == "" (
ECHO JAVA_OPTS was set to [%JAVA_OPTS%]. Logstash will trust these options, and not set any defaults that it might usually set
goto opts_defined
)
SET JAVA_OPTS=%JAVA_OPTS% -Xmx%LS_HEAP_SIZE%
REM Enable aggressive optimizations in the JVM
REM - Disabled by default as it might cause the JVM to crash
REM set JAVA_OPTS=%JAVA_OPTS% -XX:+AggressiveOpts
SET JAVA_OPTS=%JAVA_OPTS% -XX:+UseParNewGC
SET JAVA_OPTS=%JAVA_OPTS% -XX:+UseConcMarkSweepGC
SET JAVA_OPTS=%JAVA_OPTS% -XX:+CMSParallelRemarkEnabled
SET JAVA_OPTS=%JAVA_OPTS% -XX:SurvivorRatio=8
SET JAVA_OPTS=%JAVA_OPTS% -XX:MaxTenuringThreshold=1
SET JAVA_OPTS=%JAVA_OPTS% -XX:CMSInitiatingOccupancyFraction=75
SET JAVA_OPTS=%JAVA_OPTS% -XX:+UseCMSInitiatingOccupancyOnly
REM GC logging options -- uncomment to enable
REM JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCDetails
REM JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCTimeStamps
REM JAVA_OPTS=%JAVA_OPTS% -XX:+PrintClassHistogram
REM JAVA_OPTS=%JAVA_OPTS% -XX:+PrintTenuringDistribution
REM JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCApplicationStoppedTime
REM JAVA_OPTS=%JAVA_OPTS% -Xloggc:/var/log/logstash/gc.log
REM Causes the JVM to dump its heap on OutOfMemory.
SET JAVA_OPTS=%JAVA_OPTS% -XX:+HeapDumpOnOutOfMemoryError
REM The path to the heap dump location, note directory must exists and have enough
REM space for a full heap dump.
SET JAVA_OPTS=%JAVA_OPTS% -XX:HeapDumpPath="%LS_HOME%/heapdump.hprof"
:opts_defined
IF NOT "%LS_JAVA_OPTS%" == "" (
ECHO LS_JAVA_OPTS was set to [%LS_JAVA_OPTS%]. This will be appended to the JAVA_OPTS [%JAVA_OPTS%]
SET JAVA_OPTS=%JAVA_OPTS% %LS_JAVA_OPTS%
)
REM setup_vendored_jruby()
set JRUBY_BIN="%LS_HOME%\vendor\jruby\bin\jruby"
if exist "%JRUBY_BIN%" (
set VENDORED_JRUBY=1
goto finally
) else (
goto missing_jruby
)
:missing_java_home
echo JAVA_HOME environment variable must be set!
exit /b
echo Done
:missing_jruby
echo Unable to find JRuby.
echo If you are a user, this is a bug.
echo If you are a developer, please run 'rake bootstrap'. Running 'rake' requires the 'ruby' program be available.
exit /b
:finally
set RUBYLIB=%LS_HOME%\lib