|
@@ -6,24 +6,30 @@ INTERVAL=3
|
|
|
|
|
|
trap 'stty echo; exit' INT EXIT
|
|
trap 'stty echo; exit' INT EXIT
|
|
|
|
|
|
|
|
+print_header() {
|
|
|
|
+ echo "+----------------------------------------------------+------------+-----------------+-----------------+"
|
|
|
|
+ printf "| %-50s | %-10s | %-15s | %-15s |\n" "Name" "CPU %" "Memory Usage" "Memory Limit"
|
|
|
|
+ echo "+----------------------------------------------------+------------+-----------------+-----------------+"
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+print_container_info() {
|
|
|
|
+ local container_info=($1)
|
|
|
|
+ local container_name=${container_info[0]}
|
|
|
|
+ local container_stats=(${container_info[@]:1})
|
|
|
|
+
|
|
|
|
+ printf "| %-50s | %-10s | %-15s | %-15s |\n" "$container_name" "${container_stats[0]}" "${container_stats[1]}" "${container_stats[2]}"
|
|
|
|
+}
|
|
|
|
+
|
|
while true; do
|
|
while true; do
|
|
DOCKER_STATS=$(docker stats --no-stream --format "{{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}")
|
|
DOCKER_STATS=$(docker stats --no-stream --format "{{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}")
|
|
|
|
|
|
clear
|
|
clear
|
|
|
|
|
|
if [[ ! -z "$DOCKER_STATS" ]]; then
|
|
if [[ ! -z "$DOCKER_STATS" ]]; then
|
|
- echo "+----------------------------------------------------+------------+-----------------+-----------------+"
|
|
|
|
- printf "| %-50s | %-10s | %-15s | %-15s |\n" "Name" "CPU %" "Memory Usage" "Memory Limit"
|
|
|
|
- echo "+----------------------------------------------------+------------+-----------------+-----------------+"
|
|
|
|
|
|
+ print_header
|
|
|
|
|
|
while IFS= read -r line; do
|
|
while IFS= read -r line; do
|
|
- line=$(echo "$line" | tr '/' ' ')
|
|
|
|
-
|
|
|
|
- container_info=($line)
|
|
|
|
- container_name=${container_info[0]}
|
|
|
|
- container_stats=(${container_info[@]:1})
|
|
|
|
-
|
|
|
|
- printf "| %-50s | %-10s | %-15s | %-15s |\n" "$container_name" "${container_stats[0]}" "${container_stats[1]}" "${container_stats[2]}"
|
|
|
|
|
|
+ print_container_info "$(echo "$line" | awk '{gsub(/\//, " "); print}')"
|
|
done <<< "$DOCKER_STATS"
|
|
done <<< "$DOCKER_STATS"
|
|
|
|
|
|
echo "+----------------------------------------------------+------------+-----------------+-----------------+"
|
|
echo "+----------------------------------------------------+------------+-----------------+-----------------+"
|
|
@@ -34,4 +40,3 @@ while true; do
|
|
|
|
|
|
sleep $INTERVAL
|
|
sleep $INTERVAL
|
|
done
|
|
done
|
|
-
|
|
|