You can add sysstat logging on the devstack run.
In CI environemnt, sometimes VM creation, Volume creation or
Python unit testing timeouts. It is valuable to monitor
sysstat for investigate the issues.
- How to enable sysstat ( Default is off )
enable_service sysstat
- This commit adds two env variables.
SYSSTAT_FILE : sysstat log file
SYSSTAT_DURATION : duration of sysstat monitoring
Change-Id: I65efb574ef141e6e78c69218f4327df59b3258e2
... | ... |
@@ -268,6 +268,11 @@ SYSLOG=`trueorfalse False $SYSLOG` |
268 | 268 |
SYSLOG_HOST=${SYSLOG_HOST:-$HOST_IP} |
269 | 269 |
SYSLOG_PORT=${SYSLOG_PORT:-516} |
270 | 270 |
|
271 |
+# Enable sysstat logging |
|
272 |
+SYSSTAT_FILE=${SYSSTAT_FILE:-"sysstat.dat"} |
|
273 |
+SYSSTAT_INTERVAL=${SYSSTAT_INTERVAL:-"1"} |
|
274 |
+ |
|
275 |
+ |
|
271 | 276 |
# Use color for logging output (only available if syslog is not used) |
272 | 277 |
LOG_COLOR=`trueorfalse True $LOG_COLOR` |
273 | 278 |
|
... | ... |
@@ -1274,6 +1279,15 @@ if is_service_enabled nova && is_baremetal; then |
1274 | 1274 |
screen_it baremetal "nova-baremetal-deploy-helper" |
1275 | 1275 |
fi |
1276 | 1276 |
|
1277 |
+# run sysstat if it is enabled |
|
1278 |
+if is_service_enabled sysstat;then |
|
1279 |
+ if [[ -n ${SCREEN_LOGDIR} ]]; then |
|
1280 |
+ screen_it sysstat "sar -o $SCREEN_LOGDIR/$SYSSTAT_FILE $SYSSTAT_INTERVAL" |
|
1281 |
+ else |
|
1282 |
+ screen_it sysstat "sar $SYSSTAT_INTERVAL" |
|
1283 |
+ fi |
|
1284 |
+fi |
|
1285 |
+ |
|
1277 | 1286 |
# Save some values we generated for later use |
1278 | 1287 |
CURRENT_RUN_TIME=$(date "+$TIMESTAMP_FORMAT") |
1279 | 1288 |
echo "# $CURRENT_RUN_TIME" >$TOP_DIR/.stackenv |