Skip to content

Commit e887bbc

Browse files
author
ForYaSee
committed
feat(metrics) add more information
- add information about java version and JVM
1 parent 3fd1958 commit e887bbc

File tree

6 files changed

+109
-106
lines changed

6 files changed

+109
-106
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -131,3 +131,5 @@ gradle-app.setting
131131

132132
# End of https://www.gitignore.io/api/gradle,kotlin,intellij+iml
133133
.idea/compiler.xml
134+
135+
.idea/kotlinScripting.xml

build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ dependencies {
4747
implementation("io.sentry", "sentry-logback", "1.7.30")
4848

4949
// Util
50-
implementation("io.github.cdimascio", "java-dotenv" ,"5.1.3")
50+
implementation("io.github.cdimascio", "java-dotenv", "5.1.3")
5151

5252
// Kotlin
5353
implementation(kotlin("stdlib-jdk8"))

gradlew

+101-101
Original file line numberDiff line numberDiff line change
@@ -10,154 +10,154 @@
1010
# Resolve links: $0 may be a link
1111
PRG="$0"
1212
# Need this for relative symlinks.
13-
while [ -h "$PRG" ] ; do
14-
ls=`ls -ld "$PRG"`
15-
link=`expr "$ls" : '.*-> \(.*\)$'`
16-
if expr "$link" : '/.*' > /dev/null; then
17-
PRG="$link"
18-
else
19-
PRG=`dirname "$PRG"`"/$link"
20-
fi
13+
while [ -h "$PRG" ]; do
14+
ls=$(ls -ld "$PRG")
15+
link=$(expr "$ls" : '.*-> \(.*\)$')
16+
if expr "$link" : '/.*' >/dev/null; then
17+
PRG="$link"
18+
else
19+
PRG=$(dirname "$PRG")"/$link"
20+
fi
2121
done
22-
SAVED="`pwd`"
23-
cd "`dirname \"$PRG\"`/" >/dev/null
24-
APP_HOME="`pwd -P`"
22+
SAVED="$(pwd)"
23+
cd "$(dirname \"$PRG\")/" >/dev/null
24+
APP_HOME="$(pwd -P)"
2525
cd "$SAVED" >/dev/null
2626

2727
APP_NAME="Gradle"
28-
APP_BASE_NAME=`basename "$0"`
28+
APP_BASE_NAME=$(basename "$0")
2929

3030
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
3131
DEFAULT_JVM_OPTS=""
3232

3333
# Use the maximum available, or set MAX_FD != -1 to use that value.
3434
MAX_FD="maximum"
3535

36-
warn () {
37-
echo "$*"
36+
warn() {
37+
echo "$*"
3838
}
3939

40-
die () {
41-
echo
42-
echo "$*"
43-
echo
44-
exit 1
40+
die() {
41+
echo
42+
echo "$*"
43+
echo
44+
exit 1
4545
}
4646

4747
# OS specific support (must be 'true' or 'false').
4848
cygwin=false
4949
msys=false
5050
darwin=false
5151
nonstop=false
52-
case "`uname`" in
53-
CYGWIN* )
54-
cygwin=true
55-
;;
56-
Darwin* )
57-
darwin=true
58-
;;
59-
MINGW* )
60-
msys=true
61-
;;
62-
NONSTOP* )
63-
nonstop=true
64-
;;
52+
case "$(uname)" in
53+
CYGWIN*)
54+
cygwin=true
55+
;;
56+
Darwin*)
57+
darwin=true
58+
;;
59+
MINGW*)
60+
msys=true
61+
;;
62+
NONSTOP*)
63+
nonstop=true
64+
;;
6565
esac
6666

6767
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
6868

6969
# Determine the Java command to use to start the JVM.
70-
if [ -n "$JAVA_HOME" ] ; then
71-
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
72-
# IBM's JDK on AIX uses strange locations for the executables
73-
JAVACMD="$JAVA_HOME/jre/sh/java"
74-
else
75-
JAVACMD="$JAVA_HOME/bin/java"
76-
fi
77-
if [ ! -x "$JAVACMD" ] ; then
78-
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
70+
if [ -n "$JAVA_HOME" ]; then
71+
if [ -x "$JAVA_HOME/jre/sh/java" ]; then
72+
# IBM's JDK on AIX uses strange locations for the executables
73+
JAVACMD="$JAVA_HOME/jre/sh/java"
74+
else
75+
JAVACMD="$JAVA_HOME/bin/java"
76+
fi
77+
if [ ! -x "$JAVACMD" ]; then
78+
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
7979
8080
Please set the JAVA_HOME variable in your environment to match the
8181
location of your Java installation."
82-
fi
82+
fi
8383
else
84-
JAVACMD="java"
85-
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
84+
JAVACMD="java"
85+
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
8686
8787
Please set the JAVA_HOME variable in your environment to match the
8888
location of your Java installation."
8989
fi
9090

9191
# Increase the maximum file descriptors if we can.
92-
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
93-
MAX_FD_LIMIT=`ulimit -H -n`
94-
if [ $? -eq 0 ] ; then
95-
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
96-
MAX_FD="$MAX_FD_LIMIT"
97-
fi
98-
ulimit -n $MAX_FD
99-
if [ $? -ne 0 ] ; then
100-
warn "Could not set maximum file descriptor limit: $MAX_FD"
101-
fi
102-
else
103-
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
92+
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ]; then
93+
MAX_FD_LIMIT=$(ulimit -H -n)
94+
if [ $? -eq 0 ]; then
95+
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ]; then
96+
MAX_FD="$MAX_FD_LIMIT"
10497
fi
98+
ulimit -n $MAX_FD
99+
if [ $? -ne 0 ]; then
100+
warn "Could not set maximum file descriptor limit: $MAX_FD"
101+
fi
102+
else
103+
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
104+
fi
105105
fi
106106

107107
# For Darwin, add options to specify how the application appears in the dock
108108
if $darwin; then
109-
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
109+
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
110110
fi
111111

112112
# For Cygwin, switch paths to Windows format before running java
113-
if $cygwin ; then
114-
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
115-
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
116-
JAVACMD=`cygpath --unix "$JAVACMD"`
117-
118-
# We build the pattern for arguments to be converted via cygpath
119-
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
120-
SEP=""
121-
for dir in $ROOTDIRSRAW ; do
122-
ROOTDIRS="$ROOTDIRS$SEP$dir"
123-
SEP="|"
124-
done
125-
OURCYGPATTERN="(^($ROOTDIRS))"
126-
# Add a user-defined pattern to the cygpath arguments
127-
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
128-
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
113+
if $cygwin; then
114+
APP_HOME=$(cygpath --path --mixed "$APP_HOME")
115+
CLASSPATH=$(cygpath --path --mixed "$CLASSPATH")
116+
JAVACMD=$(cygpath --unix "$JAVACMD")
117+
118+
# We build the pattern for arguments to be converted via cygpath
119+
ROOTDIRSRAW=$(find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null)
120+
SEP=""
121+
for dir in $ROOTDIRSRAW; do
122+
ROOTDIRS="$ROOTDIRS$SEP$dir"
123+
SEP="|"
124+
done
125+
OURCYGPATTERN="(^($ROOTDIRS))"
126+
# Add a user-defined pattern to the cygpath arguments
127+
if [ "$GRADLE_CYGPATTERN" != "" ]; then
128+
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
129+
fi
130+
# Now convert the arguments - kludge to limit ourselves to /bin/sh
131+
i=0
132+
for arg in "$@"; do
133+
CHECK=$(echo "$arg" | egrep -c "$OURCYGPATTERN" -)
134+
CHECK2=$(echo "$arg" | egrep -c "^-") ### Determine if an option
135+
136+
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ]; then ### Added a condition
137+
eval $(echo args$i)=$(cygpath --path --ignore --mixed "$arg")
138+
else
139+
eval $(echo args$i)="\"$arg\""
129140
fi
130-
# Now convert the arguments - kludge to limit ourselves to /bin/sh
131-
i=0
132-
for arg in "$@" ; do
133-
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
134-
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
135-
136-
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
137-
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
138-
else
139-
eval `echo args$i`="\"$arg\""
140-
fi
141-
i=$((i+1))
142-
done
143-
case $i in
144-
(0) set -- ;;
145-
(1) set -- "$args0" ;;
146-
(2) set -- "$args0" "$args1" ;;
147-
(3) set -- "$args0" "$args1" "$args2" ;;
148-
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
149-
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
150-
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
151-
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
152-
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
153-
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
154-
esac
141+
i=$((i + 1))
142+
done
143+
case $i in
144+
0) set -- ;;
145+
1) set -- "$args0" ;;
146+
2) set -- "$args0" "$args1" ;;
147+
3) set -- "$args0" "$args1" "$args2" ;;
148+
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
149+
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
150+
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
151+
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
152+
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
153+
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
154+
esac
155155
fi
156156

157157
# Escape application args
158-
save () {
159-
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
160-
echo " "
158+
save() {
159+
for i; do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/"; done
160+
echo " "
161161
}
162162
APP_ARGS=$(save "$@")
163163

src/main/kotlin/app/ryss/gateway/Launcher.kt

-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ import app.ryss.gateway.config.Environment
55
import app.ryss.gateway.core.GatewayService
66
import ch.qos.logback.classic.Level
77
import ch.qos.logback.classic.Logger
8-
import io.ktor.server.engine.embeddedServer
9-
import io.ktor.server.netty.Netty
108
import io.sentry.Sentry
119
import org.slf4j.LoggerFactory
1210

src/main/kotlin/app/ryss/gateway/config/Config.kt

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package app.ryss.gateway.config
22

3-
import io.github.cdimascio.dotenv.dotenv
43
import ch.qos.logback.classic.Level
4+
import io.github.cdimascio.dotenv.dotenv
55

66
/**
77
* Configuration of gateway service.
@@ -15,7 +15,8 @@ class Config {
1515
/**
1616
* The [Environment] of the current instance.
1717
*/
18-
val environment: Environment = Environment.valueOf(dotenv["${PREFIX}ENVIRONMENT"] ?: Environment.PRODUCTION.toString())
18+
val environment: Environment =
19+
Environment.valueOf(dotenv["${PREFIX}ENVIRONMENT"] ?: Environment.PRODUCTION.toString())
1920

2021
/**
2122
* The [Level] of the logger.

src/main/kotlin/app/ryss/gateway/metrics/MemoryMetrics.kt

+2
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ class MemoryMetrics(private val client: InfluxDBClient, private val bucket: Stri
3636
for (unit in scheduler) {
3737
client.writeApi.writePoint(bucket, org, Point.measurement("memory").apply {
3838
addTag("host", hostName)
39+
addTag("java.version", System.getProperty("java.version"))
40+
addTag("java.vm.name", System.getProperty("java.vm.name"))
3941
addField("total", Runtime.getRuntime().totalMemory())
4042
addField("allocated", Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory())
4143
time(Instant.now().toEpochMilli(), WritePrecision.MS)

0 commit comments

Comments
 (0)