X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=jjb%2Fscripts%2Fsetup_executor_env.sh;h=4d3cb6ecff81aeaed67aaa1f0ae3b5ee89605d58;hb=6b0633c4df5f30f0a2034ad283a5a00ab81a0256;hp=ee483b87e99ff4dba26195ee50189fe7b0e98703;hpb=da9107242a57716d96f8f951e103bc6bd1ac99f8;p=ci-management.git diff --git a/jjb/scripts/setup_executor_env.sh b/jjb/scripts/setup_executor_env.sh index ee483b87e..4d3cb6ecf 100755 --- a/jjb/scripts/setup_executor_env.sh +++ b/jjb/scripts/setup_executor_env.sh @@ -25,11 +25,13 @@ file_delimiter="----- %< -----" long_line="************************************************************************" downloads_cache="/root/Downloads" +# Node info echo "$long_line" -echo "Executor OS: $OS_ID-$OS_VERSION_ID" -echo "Executor Arch: $OS_ARCH" -# TODO: fix this to print nomad server hostname -echo "Executor hostname: $(hostname)" +echo "Executor Runtime Attributes:" +echo "OS: $OS_ID-$OS_VERSION_ID" +echo "Arch: $OS_ARCH" +echo "Nomad Hostname: $(grep search /etc/resolv.conf | cut -d' ' -f2 | head -1)" +echo "Container ID: $(hostname)" echo "$long_line" if [ -f "$dockerfile" ] ; then @@ -40,6 +42,35 @@ else echo "Unknown Executor: '$dockerfile' not found!" fi +# Performance analysis +perf_trials=2 +perf_interval=1 +if [ "$OS_ID" == "ubuntu" ] || [ "$OS_ID" = "debian" ] ; then + SYSSTAT_PATH="/var/log/sysstat" +elif [ "$OS_ID" == "centos" ] ; then + if [ "$OS_VERSION_ID" = "7" ] ; then + SYSSTAT_PATH="/var/log/sa/sa02" + else + SYSSTAT_PATH="/var/log/sa" + fi +fi +echo "$long_line" +echo "Virtual memory stat" +vmstat ${perf_interval} ${perf_trials} +echo "CPU time breakdowns per CPU" +mpstat -P ALL ${perf_interval} ${perf_trials} +echo "Per-process summary" +pidstat ${perf_interval} ${perf_trials} +echo "Block device stats" +iostat -xz ${perf_interval} ${perf_trials} +echo "Memory utilization" +free -m +echo "Network interface throughput" +sar -n DEV -o ${SYSSTAT_PATH} ${perf_interval} ${perf_trials} +echo "TCP metrics" +sar -n TCP,ETCP -o ${SYSSTAT_PATH} ${perf_interval} ${perf_trials} + +# SW stack echo "$long_line" echo "Executor package list:" if [ "$OS_ID" == "ubuntu" ] || [ "$OS_ID" = "debian" ] ; then @@ -55,7 +86,24 @@ pip3 list 2>/dev/null | column -t || true echo "$long_line" echo "Executor Downloads cache '$downloads_cache':" ls -lh "$downloads_cache" || true + echo "$long_line" echo "DNS nameserver config in '/etc/resolv.conf':" cat /etc/resolv.conf || true + +echo "$long_line" +if [ -n "$(which ccache || true)" ] ; then + if [ -z "${CCACHE_DIR:-}" ] || [ ! -d "$CCACHE_DIR" ] ; then + echo "CCACHE_DIR='$CCACHE_DIR' is missing, disabling CCACHE..." + export CCACHE_DISABLE="1" + fi + if [ -n "${CCACHE_DISABLE:-}" ] ; then + echo "CCACHE_DISABLE = '$CCACHE_DISABLE'" + fi + echo "ccache statistics:" + ccache -s +else + echo "WARNING: ccache is not installed!" + export CCACHE_DISABLE="1" +fi echo "$long_line"