diff options
Diffstat (limited to 'solr-8.3.1/contrib/prometheus-exporter/bin')
| -rw-r--r-- | solr-8.3.1/contrib/prometheus-exporter/bin/solr-exporter | 145 | ||||
| -rw-r--r-- | solr-8.3.1/contrib/prometheus-exporter/bin/solr-exporter.cmd | 107 |
2 files changed, 252 insertions, 0 deletions
diff --git a/solr-8.3.1/contrib/prometheus-exporter/bin/solr-exporter b/solr-8.3.1/contrib/prometheus-exporter/bin/solr-exporter new file mode 100644 index 000000000..9dc717ea7 --- /dev/null +++ b/solr-8.3.1/contrib/prometheus-exporter/bin/solr-exporter @@ -0,0 +1,145 @@ +#!/bin/sh + +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +BASEDIR=`dirname $0`/.. +BASEDIR=`(cd "$BASEDIR"; pwd)` + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +case "`uname`" in + CYGWIN*) cygwin=true ;; + Darwin*) darwin=true + if [ -z "$JAVA_VERSION" ] ; then + JAVA_VERSION="CurrentJDK" + else + echo "Using Java version: $JAVA_VERSION" + fi + if [ -z "$JAVA_HOME" ] ; then + JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# If a specific java binary isn't specified search for the standard 'java' binary +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD=`which java` + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." + echo " We cannot execute $JAVACMD" + exit 1 +fi + +if [ -z "$REPO" ] +then + REPO="$BASEDIR"/lib +fi + +CLASSPATH=$CLASSPATH_PREFIX +for JAR in $(find "$REPO" -name '*.jar') +do + CLASSPATH="$CLASSPATH":"$JAR" +done +for JAR in $(find "$BASEDIR"/../../dist/solrj-lib -name '*.jar') +do + CLASSPATH="$CLASSPATH":"$JAR" +done +for JAR in $(find "$BASEDIR"/../../dist -name 'solr-core-*.jar') +do + CLASSPATH="$CLASSPATH":"$JAR" +done +for JAR in $(find "$BASEDIR"/../../dist -name 'solr-solrj-*.jar') +do + CLASSPATH="$CLASSPATH":"$JAR" +done +for JAR in $(find "$BASEDIR"/../../dist -name 'solr-prometheus-exporter-*.jar') +do + CLASSPATH="$CLASSPATH":"$JAR" +done +for JAR in $(find "$BASEDIR"/lucene-libs -name '*.jar') +do + CLASSPATH="$CLASSPATH":"$JAR" +done +for JAR in $(find "$BASEDIR"/../../server/solr-webapp/webapp/WEB-INF/lib -name '*.jar') +do + CLASSPATH="$CLASSPATH":"$JAR" +done + +# Memory settings +JAVA_MEM_OPTS= +if [ -z "$JAVA_HEAP" ] && [ -n "$JAVA_MEM" ]; then + JAVA_MEM_OPTS="$JAVA_MEM" +else + JAVA_HEAP="${JAVA_HEAP:-512m}" + JAVA_MEM_OPTS="-Xms$JAVA_HEAP -Xmx$JAVA_HEAP" +fi + +# define default GC_TUNE +if [ -z ${GC_TUNE+x} ]; then + GC_TUNE='-XX:+UseG1GC' +else + GC_TUNE="$GC_TUNE" +fi + +EXTRA_JVM_ARGUMENTS="-Dlog4j.configurationFile=file:"$BASEDIR"/../../server/resources/log4j2-console.xml" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$HOME" ] && HOME=`cygpath --path --windows "$HOME"` + [ -n "$BASEDIR" ] && BASEDIR=`cygpath --path --windows "$BASEDIR"` + [ -n "$REPO" ] && REPO=`cygpath --path --windows "$REPO"` +fi + +exec "$JAVACMD" \ + $JAVA_MEM_OPTS \ + $GC_TUNE \ + $JAVA_OPTS \ + $EXTRA_JVM_ARGUMENTS \ + -classpath "$CLASSPATH" \ + -Dapp.name="solr-exporter" \ + -Dapp.pid="$$" \ + -Dapp.repo="$REPO" \ + -Dbasedir="$BASEDIR" \ + org.apache.solr.prometheus.exporter.SolrExporter \ + "$@" diff --git a/solr-8.3.1/contrib/prometheus-exporter/bin/solr-exporter.cmd b/solr-8.3.1/contrib/prometheus-exporter/bin/solr-exporter.cmd new file mode 100644 index 000000000..e5bd65ef8 --- /dev/null +++ b/solr-8.3.1/contrib/prometheus-exporter/bin/solr-exporter.cmd @@ -0,0 +1,107 @@ +@REM +@REM Licensed to the Apache Software Foundation (ASF) under one or more +@REM contributor license agreements. See the NOTICE file distributed with +@REM this work for additional information regarding copyright ownership. +@REM The ASF licenses this file to You under the Apache License, Version 2.0 +@REM (the "License"); you may not use this file except in compliance with +@REM the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, software +@REM distributed under the License is distributed on an "AS IS" BASIS, +@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@REM See the License for the specific language governing permissions and +@REM limitations under the License. + +@echo off + +set ERROR_CODE=0 + +:init +@REM Decide how to startup depending on the version of windows + +@REM -- Win98ME +if NOT "%OS%"=="Windows_NT" goto Win9xArg + +@REM set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" @setlocal + +@REM -- 4NT shell +if "%eval[2+2]" == "4" goto 4NTArgs + +@REM -- Regular WinNT shell +set CMD_LINE_ARGS=%* +goto WinNTGetScriptDir + +@REM The 4NT Shell from jp software +:4NTArgs +set CMD_LINE_ARGS=%$ +goto WinNTGetScriptDir + +:Win9xArg +@REM Slurp the command line arguments. This loop allows for an unlimited number +@REM of agruments (up to the command line limit, anyway). +set CMD_LINE_ARGS= +:Win9xApp +if %1a==a goto Win9xGetScriptDir +set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1 +shift +goto Win9xApp + +:Win9xGetScriptDir +set SAVEDIR=%CD% +%0\ +cd %0\..\.. +set BASEDIR=%CD% +cd %SAVEDIR% +set SAVE_DIR= +goto repoSetup + +:WinNTGetScriptDir +set BASEDIR=%~dp0.. + +:repoSetup + +IF NOT "%JAVA_HEAP%"=="" set JAVA_MEM=-Xms%JAVA_HEAP% -Xmx%JAVA_HEAP% +IF "%JAVA_MEM%"=="" set JAVA_MEM=-Xms512m -Xmx512m +IF "%GC_TUNE%"=="" set GC_TUNE=-XX:+UseG1GC + +if "%JAVACMD%"=="" set JAVACMD=java + +if "%REPO%"=="" set REPO=%BASEDIR%\lib + +set CLASSPATH=%REPO%\*;%BASEDIR%\..\..\dist\solrj-lib\*;%BASEDIR%\..\..\dist\*;%BASEDIR%\lucene-libs\*;%BASEDIR%\..\..\server\solr-webapp\webapp\WEB-INF\lib\* +set EXTRA_JVM_ARGUMENTS=-Dlog4j.configurationFile=file:///%BASEDIR%\..\..\server\resources\log4j2-console.xml +goto endInit + +@REM Reaching here means variables are defined and arguments have been captured +:endInit + +%JAVACMD% %JAVA_MEM% %GC_TUNE% %JAVA_OPTS% %EXTRA_JVM_ARGUMENTS% -classpath "%CLASSPATH_PREFIX%;%CLASSPATH%" -Dapp.name="solr-exporter" -Dapp.repo="%REPO%" -Dbasedir="%BASEDIR%" org.apache.solr.prometheus.exporter.SolrExporter %CMD_LINE_ARGS% +if ERRORLEVEL 1 goto error +goto end + +:error +if "%OS%"=="Windows_NT" @endlocal +set ERROR_CODE=1 + +:end +@REM set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" goto endNT + +@REM For old DOS remove the set variables from ENV - we assume they were not set +@REM before we started - at least we don't leave any baggage around +set CMD_LINE_ARGS= +goto postExec + +:endNT +@endlocal + +:postExec + +if "%FORCE_EXIT_ON_ERROR%" == "on" ( + if %ERROR_CODE% NEQ 0 exit %ERROR_CODE% +) + +exit /B %ERROR_CODE% |
