Skip to content

Commit 41c9ad0

Browse files
authored
Docker: Collect JVM heap dump only enable via env var (#2666)
1 parent 111ba26 commit 41c9ad0

11 files changed

+34
-92
lines changed

Base/handle_heap_dump.sh

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
#!/usr/bin/env bash
22

3-
SELENIUM_SERVER_PID=$1
4-
LOG_DIR=$2
3+
SELENIUM_SERVER_PID="$(ps -ef | grep "selenium-server.jar" | grep -v grep | awk '{print $2}')"
4+
LOG_DIR=$1
55
TIMESTAMP=$(date +%s)
66

7-
filename="$LOG_DIR/dump_pid${SELENIUM_SERVER_PID}_${TIMESTAMP}.hprof"
8-
if ps -p "${SELENIUM_SERVER_PID}" >/dev/null; then
9-
echo "Server process is still running. Create heap dump by using jmap"
10-
jmap -dump:live,format=b,file="${filename}" "${SELENIUM_SERVER_PID}"
11-
else
12-
filename_source="$LOG_DIR/java_pid${SELENIUM_SERVER_PID}.hprof"
13-
if [ -f "$filename_source" ]; then
14-
echo "Server is not running. Check HeapDumpOnOutOfMemoryError created"
15-
mv "$filename_source" "$filename"
7+
if [ -n "${SELENIUM_SERVER_PID}" ]; then
8+
filename="$LOG_DIR/dump_pid${SELENIUM_SERVER_PID}_${TIMESTAMP}.hprof"
9+
if ps -p "${SELENIUM_SERVER_PID}" >/dev/null; then
10+
echo "Server process is still running. Create heap dump by using jmap"
11+
jmap -dump:live,format=b,file="${filename}" "${SELENIUM_SERVER_PID}"
1612
else
17-
echo "Server is not running. No heap dump is created"
13+
filename_source="$LOG_DIR/java_pid${SELENIUM_SERVER_PID}.hprof"
14+
if [ -f "$filename_source" ]; then
15+
echo "Server is not running. Check HeapDumpOnOutOfMemoryError created"
16+
mv "$filename_source" "$filename"
17+
else
18+
echo "Server is not running. No heap dump is created"
19+
fi
1820
fi
1921
fi

Distributor/start-selenium-grid-distributor.sh

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -191,21 +191,15 @@ if [ -n "${JAVA_OPTS:-$SE_JAVA_OPTS}" ]; then
191191
fi
192192

193193
function handle_heap_dump() {
194-
/opt/bin/handle_heap_dump.sh $SELENIUM_SERVER_PID /opt/selenium/logs
194+
/opt/bin/handle_heap_dump.sh /opt/selenium/logs
195195
}
196196
if [ "${SE_JAVA_HEAP_DUMP}" = "true" ]; then
197197
trap handle_heap_dump ERR SIGTERM SIGINT
198-
else
199-
trap handle_heap_dump ERR
200198
fi
201199

202200
java ${JAVA_OPTS:-$SE_JAVA_OPTS} \
203201
-jar /opt/selenium/selenium-server.jar \
204202
${EXTRA_LIBS} \
205203
distributor \
206204
--bind-bus false \
207-
${SE_OPTS} &
208-
209-
SELENIUM_SERVER_PID=$!
210-
211-
wait $SELENIUM_SERVER_PID
205+
${SE_OPTS}

EventBus/start-selenium-grid-eventbus.sh

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -121,12 +121,10 @@ if [ -n "${JAVA_OPTS:-$SE_JAVA_OPTS}" ]; then
121121
fi
122122

123123
function handle_heap_dump() {
124-
/opt/bin/handle_heap_dump.sh $SELENIUM_SERVER_PID /opt/selenium/logs
124+
/opt/bin/handle_heap_dump.sh /opt/selenium/logs
125125
}
126126
if [ "${SE_JAVA_HEAP_DUMP}" = "true" ]; then
127127
trap handle_heap_dump ERR SIGTERM SIGINT
128-
else
129-
trap handle_heap_dump ERR
130128
fi
131129

132130
java ${JAVA_OPTS:-$SE_JAVA_OPTS} \
@@ -135,8 +133,4 @@ java ${JAVA_OPTS:-$SE_JAVA_OPTS} \
135133
--bind-host ${SE_BIND_HOST} \
136134
${HOST_CONFIG} \
137135
${PORT_CONFIG} \
138-
${SE_OPTS} &
139-
140-
SELENIUM_SERVER_PID=$!
141-
142-
wait $SELENIUM_SERVER_PID
136+
${SE_OPTS}

Hub/start-selenium-grid-hub.sh

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -171,20 +171,14 @@ if [ -n "${JAVA_OPTS:-$SE_JAVA_OPTS}" ]; then
171171
fi
172172

173173
function handle_heap_dump() {
174-
/opt/bin/handle_heap_dump.sh $SELENIUM_SERVER_PID /opt/selenium/logs
174+
/opt/bin/handle_heap_dump.sh /opt/selenium/logs
175175
}
176176
if [ "${SE_JAVA_HEAP_DUMP}" = "true" ]; then
177177
trap handle_heap_dump ERR SIGTERM SIGINT
178-
else
179-
trap handle_heap_dump ERR
180178
fi
181179

182180
java ${JAVA_OPTS:-$SE_JAVA_OPTS} \
183181
-jar /opt/selenium/selenium-server.jar \
184182
${EXTRA_LIBS} \
185183
hub \
186-
${SE_OPTS} &
187-
188-
SELENIUM_SERVER_PID=$!
189-
190-
wait $SELENIUM_SERVER_PID
184+
${SE_OPTS}

NodeBase/start-selenium-node.sh

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -186,12 +186,10 @@ if [ -n "${JAVA_OPTS:-$SE_JAVA_OPTS}" ]; then
186186
fi
187187

188188
function handle_heap_dump() {
189-
/opt/bin/handle_heap_dump.sh $SELENIUM_SERVER_PID /opt/selenium/logs
189+
/opt/bin/handle_heap_dump.sh /opt/selenium/logs
190190
}
191191
if [ "${SE_JAVA_HEAP_DUMP}" = "true" ]; then
192192
trap handle_heap_dump ERR SIGTERM SIGINT
193-
else
194-
trap handle_heap_dump ERR
195193
fi
196194

197195
java ${JAVA_OPTS:-$SE_JAVA_OPTS} \
@@ -201,8 +199,4 @@ java ${JAVA_OPTS:-$SE_JAVA_OPTS} \
201199
-jar /opt/selenium/selenium-server.jar \
202200
${EXTRA_LIBS} \
203201
node \
204-
${SE_OPTS} &
205-
206-
SELENIUM_SERVER_PID=$!
207-
208-
wait $SELENIUM_SERVER_PID
202+
${SE_OPTS}

NodeDocker/start-selenium-grid-docker.sh

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -138,12 +138,10 @@ if [ -n "${JAVA_OPTS:-$SE_JAVA_OPTS}" ]; then
138138
fi
139139

140140
function handle_heap_dump() {
141-
/opt/bin/handle_heap_dump.sh $SELENIUM_SERVER_PID /opt/selenium/logs
141+
/opt/bin/handle_heap_dump.sh /opt/selenium/logs
142142
}
143143
if [ "${SE_JAVA_HEAP_DUMP}" = "true" ]; then
144144
trap handle_heap_dump ERR SIGTERM SIGINT
145-
else
146-
trap handle_heap_dump ERR
147145
fi
148146

149147
java ${JAVA_OPTS:-$SE_JAVA_OPTS} \
@@ -154,8 +152,4 @@ java ${JAVA_OPTS:-$SE_JAVA_OPTS} \
154152
--bind-host ${SE_BIND_HOST} \
155153
--detect-drivers false \
156154
--config ${CONFIG_FILE} \
157-
${SE_GRID_URL} ${SE_OPTS} &
158-
159-
SELENIUM_SERVER_PID=$!
160-
161-
wait $SELENIUM_SERVER_PID
155+
${SE_GRID_URL} ${SE_OPTS}

Router/start-selenium-grid-router.sh

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -172,12 +172,10 @@ if [ -n "${JAVA_OPTS:-$SE_JAVA_OPTS}" ]; then
172172
fi
173173

174174
function handle_heap_dump() {
175-
/opt/bin/handle_heap_dump.sh $SELENIUM_SERVER_PID /opt/selenium/logs
175+
/opt/bin/handle_heap_dump.sh /opt/selenium/logs
176176
}
177177
if [ "${SE_JAVA_HEAP_DUMP}" = "true" ]; then
178178
trap handle_heap_dump ERR SIGTERM SIGINT
179-
else
180-
trap handle_heap_dump ERR
181179
fi
182180

183181
java ${JAVA_OPTS:-$SE_JAVA_OPTS} \
@@ -193,8 +191,4 @@ java ${JAVA_OPTS:-$SE_JAVA_OPTS} \
193191
${HOST_CONFIG} \
194192
${PORT_CONFIG} \
195193
${SUB_PATH_CONFIG} \
196-
${SE_OPTS} &
197-
198-
SELENIUM_SERVER_PID=$!
199-
200-
wait $SELENIUM_SERVER_PID
194+
${SE_OPTS}

SessionQueue/start-selenium-grid-session-queue.sh

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -125,12 +125,10 @@ if [ -n "${JAVA_OPTS:-$SE_JAVA_OPTS}" ]; then
125125
fi
126126

127127
function handle_heap_dump() {
128-
/opt/bin/handle_heap_dump.sh $SELENIUM_SERVER_PID /opt/selenium/logs
128+
/opt/bin/handle_heap_dump.sh /opt/selenium/logs
129129
}
130130
if [ "${SE_JAVA_HEAP_DUMP}" = "true" ]; then
131131
trap handle_heap_dump ERR SIGTERM SIGINT
132-
else
133-
trap handle_heap_dump ERR
134132
fi
135133

136134
java ${JAVA_OPTS:-$SE_JAVA_OPTS} \
@@ -141,8 +139,4 @@ java ${JAVA_OPTS:-$SE_JAVA_OPTS} \
141139
--bind-host ${SE_BIND_HOST} \
142140
${HOST_CONFIG} \
143141
${PORT_CONFIG} \
144-
${SE_OPTS} &
145-
146-
SELENIUM_SERVER_PID=$!
147-
148-
wait $SELENIUM_SERVER_PID
142+
${SE_OPTS}

Sessions/start-selenium-grid-sessions.sh

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -160,12 +160,10 @@ if [ -n "${JAVA_OPTS:-$SE_JAVA_OPTS}" ]; then
160160
fi
161161

162162
function handle_heap_dump() {
163-
/opt/bin/handle_heap_dump.sh $SELENIUM_SERVER_PID /opt/selenium/logs
163+
/opt/bin/handle_heap_dump.sh /opt/selenium/logs
164164
}
165165
if [ "${SE_JAVA_HEAP_DUMP}" = "true" ]; then
166166
trap handle_heap_dump ERR SIGTERM SIGINT
167-
else
168-
trap handle_heap_dump ERR
169167
fi
170168

171169
java ${JAVA_OPTS:-$SE_JAVA_OPTS} \
@@ -176,8 +174,4 @@ java ${JAVA_OPTS:-$SE_JAVA_OPTS} \
176174
--bind-host ${SE_BIND_HOST} \
177175
${HOST_CONFIG} \
178176
${PORT_CONFIG} \
179-
${SE_OPTS} &
180-
181-
SELENIUM_SERVER_PID=$!
182-
183-
wait $SELENIUM_SERVER_PID
177+
${SE_OPTS}

Standalone/start-selenium-standalone.sh

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -174,12 +174,10 @@ if [ -n "${JAVA_OPTS:-$SE_JAVA_OPTS}" ]; then
174174
fi
175175

176176
function handle_heap_dump() {
177-
/opt/bin/handle_heap_dump.sh $SELENIUM_SERVER_PID /opt/selenium/logs
177+
/opt/bin/handle_heap_dump.sh /opt/selenium/logs
178178
}
179179
if [ "${SE_JAVA_HEAP_DUMP}" = "true" ]; then
180180
trap handle_heap_dump ERR SIGTERM SIGINT
181-
else
182-
trap handle_heap_dump ERR
183181
fi
184182

185183
java ${JAVA_OPTS:-$SE_JAVA_OPTS} \
@@ -196,8 +194,4 @@ java ${JAVA_OPTS:-$SE_JAVA_OPTS} \
196194
--bind-host ${SE_BIND_HOST} \
197195
--config ${CONFIG_FILE} \
198196
${SUB_PATH_CONFIG} \
199-
${SE_OPTS} &
200-
201-
SELENIUM_SERVER_PID=$!
202-
203-
wait $SELENIUM_SERVER_PID
197+
${SE_OPTS}

StandaloneDocker/start-selenium-grid-docker.sh

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -139,12 +139,10 @@ if [ -n "${JAVA_OPTS:-$SE_JAVA_OPTS}" ]; then
139139
fi
140140

141141
function handle_heap_dump() {
142-
/opt/bin/handle_heap_dump.sh $SELENIUM_SERVER_PID /opt/selenium/logs
142+
/opt/bin/handle_heap_dump.sh /opt/selenium/logs
143143
}
144144
if [ "${SE_JAVA_HEAP_DUMP}" = "true" ]; then
145145
trap handle_heap_dump ERR SIGTERM SIGINT
146-
else
147-
trap handle_heap_dump ERR
148146
fi
149147

150148
java ${JAVA_OPTS:-$SE_JAVA_OPTS} \
@@ -156,8 +154,4 @@ java ${JAVA_OPTS:-$SE_JAVA_OPTS} \
156154
--detect-drivers false \
157155
--bind-host ${SE_BIND_HOST} \
158156
--config ${CONFIG_FILE} \
159-
${SE_GRID_URL} ${SE_OPTS} &
160-
161-
SELENIUM_SERVER_PID=$!
162-
163-
wait $SELENIUM_SERVER_PID
157+
${SE_GRID_URL} ${SE_OPTS}

0 commit comments

Comments
 (0)