mirror of
https://github.com/pi-hole/pi-hole.git
synced 2024-12-25 06:10:20 +00:00
Provide correct FTL stats (#1619)
* Provide correct FTL stats * Use the correct lines in the array when displaying FTL stats * Treat ads_blocked_today/dns_queries_today as currency, like domains_being_blocked is on large screens * Chronometer Shellcheck validation * Remove unnecessary \ from CPU usage readout
This commit is contained in:
parent
0a062d26e6
commit
714fd93292
1 changed files with 23 additions and 19 deletions
|
@ -1,4 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
# shellcheck disable=SC1090,SC1091
|
||||||
# Pi-hole: A black hole for Internet advertisements
|
# Pi-hole: A black hole for Internet advertisements
|
||||||
# (c) 2017 Pi-hole, LLC (https://pi-hole.net)
|
# (c) 2017 Pi-hole, LLC (https://pi-hole.net)
|
||||||
# Network-wide ad blocking via your own hardware.
|
# Network-wide ad blocking via your own hardware.
|
||||||
|
@ -91,10 +92,10 @@ printFunc() {
|
||||||
printf "%s%s$spc" "$title" "$text_main"
|
printf "%s%s$spc" "$title" "$text_main"
|
||||||
|
|
||||||
if [[ -n "$text_addn" ]]; then
|
if [[ -n "$text_addn" ]]; then
|
||||||
printf "%s(%s)%s\n" "$COL_NC$COL_DARK_GRAY" "$text_addn" "$COL_NC"
|
printf "%s(%s)%s\\n" "$COL_NC$COL_DARK_GRAY" "$text_addn" "$COL_NC"
|
||||||
else
|
else
|
||||||
# Do not print trailing newline on final line
|
# Do not print trailing newline on final line
|
||||||
[[ -z "$text_last" ]] && printf "%s\n" "$COL_NC"
|
[[ -z "$text_last" ]] && printf "%s\\n" "$COL_NC"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -126,7 +127,7 @@ get_init_stats() {
|
||||||
mins=$(( ($1%3600)/60 )); secs=$(( $1%60 ))
|
mins=$(( ($1%3600)/60 )); secs=$(( $1%60 ))
|
||||||
[[ "$day" -ge "2" ]] && plu="s"
|
[[ "$day" -ge "2" ]] && plu="s"
|
||||||
[[ "$day" -ge "1" ]] && days="$day day${plu}, " || days=""
|
[[ "$day" -ge "1" ]] && days="$day day${plu}, " || days=""
|
||||||
printf "%s%02d:%02d:%02d\n" "$days" "$hrs" "$mins" "$secs"
|
printf "%s%02d:%02d:%02d\\n" "$days" "$hrs" "$mins" "$secs"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Set Colour Codes
|
# Set Colour Codes
|
||||||
|
@ -285,6 +286,7 @@ get_sys_stats() {
|
||||||
sys_loadavg=$(cut -d " " -f1,2,3 /proc/loadavg)
|
sys_loadavg=$(cut -d " " -f1,2,3 /proc/loadavg)
|
||||||
|
|
||||||
# Get CPU usage, only counting processes over 1% as active
|
# Get CPU usage, only counting processes over 1% as active
|
||||||
|
# shellcheck disable=SC2009
|
||||||
cpu_raw=$(ps -eo pcpu,rss --no-headers | grep -E -v " 0")
|
cpu_raw=$(ps -eo pcpu,rss --no-headers | grep -E -v " 0")
|
||||||
cpu_tasks=$(wc -l <<< "$cpu_raw")
|
cpu_tasks=$(wc -l <<< "$cpu_raw")
|
||||||
cpu_taskact=$(sed -r "/(^ 0.)/d" <<< "$cpu_raw" | wc -l)
|
cpu_taskact=$(sed -r "/(^ 0.)/d" <<< "$cpu_raw" | wc -l)
|
||||||
|
@ -306,7 +308,7 @@ get_sys_stats() {
|
||||||
# Determine colour for temperature
|
# Determine colour for temperature
|
||||||
if [[ -n "$temp_file" ]]; then
|
if [[ -n "$temp_file" ]]; then
|
||||||
if [[ "$temp_unit" == "C" ]]; then
|
if [[ "$temp_unit" == "C" ]]; then
|
||||||
cpu_temp=$(printf "%.0fc\n" "$(calcFunc "$(< $temp_file) / 1000")")
|
cpu_temp=$(printf "%.0fc\\n" "$(calcFunc "$(< $temp_file) / 1000")")
|
||||||
|
|
||||||
case "${cpu_temp::-1}" in
|
case "${cpu_temp::-1}" in
|
||||||
-*|[0-9]|[1-3][0-9]) cpu_col="$COL_LIGHT_BLUE";;
|
-*|[0-9]|[1-3][0-9]) cpu_col="$COL_LIGHT_BLUE";;
|
||||||
|
@ -320,7 +322,7 @@ get_sys_stats() {
|
||||||
cpu_temp_str=" @ $cpu_col$cpu_temp$COL_NC$COL_DARK_GRAY"
|
cpu_temp_str=" @ $cpu_col$cpu_temp$COL_NC$COL_DARK_GRAY"
|
||||||
|
|
||||||
elif [[ "$temp_unit" == "F" ]]; then
|
elif [[ "$temp_unit" == "F" ]]; then
|
||||||
cpu_temp=$(printf "%.0ff\n" "$(calcFunc "($(< $temp_file) / 1000) * 9 / 5 + 32")")
|
cpu_temp=$(printf "%.0ff\\n" "$(calcFunc "($(< $temp_file) / 1000) * 9 / 5 + 32")")
|
||||||
|
|
||||||
case "${cpu_temp::-1}" in
|
case "${cpu_temp::-1}" in
|
||||||
-*|[0-9]|[0-9][0-9]) cpu_col="$COL_LIGHT_BLUE";;
|
-*|[0-9]|[0-9][0-9]) cpu_col="$COL_LIGHT_BLUE";;
|
||||||
|
@ -333,7 +335,7 @@ get_sys_stats() {
|
||||||
cpu_temp_str=" @ $cpu_col$cpu_temp$COL_NC$COL_DARK_GRAY"
|
cpu_temp_str=" @ $cpu_col$cpu_temp$COL_NC$COL_DARK_GRAY"
|
||||||
|
|
||||||
else
|
else
|
||||||
cpu_temp_str=$(printf " @ %.0fk\n" "$(calcFunc "($(< $temp_file) / 1000) + 273.15")")
|
cpu_temp_str=$(printf " @ %.0fk\\n" "$(calcFunc "($(< $temp_file) / 1000) + 273.15")")
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
cpu_temp_str=""
|
cpu_temp_str=""
|
||||||
|
@ -365,12 +367,12 @@ get_ftl_stats() {
|
||||||
local stats_raw
|
local stats_raw
|
||||||
|
|
||||||
mapfile -t stats_raw < <(pihole-FTL "stats")
|
mapfile -t stats_raw < <(pihole-FTL "stats")
|
||||||
domains_being_blocked_raw="${stats_raw[1]#* }"
|
domains_being_blocked_raw="${stats_raw[0]#* }"
|
||||||
dns_queries_today_raw="${stats_raw[3]#* }"
|
dns_queries_today_raw="${stats_raw[1]#* }"
|
||||||
ads_blocked_today_raw="${stats_raw[5]#* }"
|
ads_blocked_today_raw="${stats_raw[2]#* }"
|
||||||
ads_percentage_today_raw="${stats_raw[7]#* }"
|
ads_percentage_today_raw="${stats_raw[3]#* }"
|
||||||
queries_forwarded_raw="${stats_raw[11]#* }"
|
queries_forwarded_raw="${stats_raw[5]#* }"
|
||||||
queries_cached_raw="${stats_raw[13]#* }"
|
queries_cached_raw="${stats_raw[6]#* }"
|
||||||
|
|
||||||
# Only retrieve these stats when not called from jsonFunc
|
# Only retrieve these stats when not called from jsonFunc
|
||||||
if [[ -z "$1" ]]; then
|
if [[ -z "$1" ]]; then
|
||||||
|
@ -378,11 +380,11 @@ get_ftl_stats() {
|
||||||
local top_domain_raw
|
local top_domain_raw
|
||||||
local top_client_raw
|
local top_client_raw
|
||||||
|
|
||||||
domains_being_blocked=$(printf "%.0f\n" "${domains_being_blocked_raw}")
|
domains_being_blocked=$(printf "%.0f\\n" "${domains_being_blocked_raw}")
|
||||||
dns_queries_today=$(printf "%.0f\n" "${dns_queries_today_raw}")
|
dns_queries_today=$(printf "%.0f\\n" "${dns_queries_today_raw}")
|
||||||
ads_blocked_today=$(printf "%.0f\n" "${ads_blocked_today_raw}")
|
ads_blocked_today=$(printf "%.0f\\n" "${ads_blocked_today_raw}")
|
||||||
ads_percentage_today=$(printf "%'.0f\n" "${ads_percentage_today_raw}")
|
ads_percentage_today=$(printf "%'.0f\\n" "${ads_percentage_today_raw}")
|
||||||
queries_cached_percentage=$(printf "%.0f\n" "$(calcFunc "$queries_cached_raw * 100 / ( $queries_forwarded_raw + $queries_cached_raw )")")
|
queries_cached_percentage=$(printf "%.0f\\n" "$(calcFunc "$queries_cached_raw * 100 / ( $queries_forwarded_raw + $queries_cached_raw )")")
|
||||||
recent_blocked=$(pihole-FTL recentBlocked)
|
recent_blocked=$(pihole-FTL recentBlocked)
|
||||||
read -r -a top_ad_raw <<< "$(pihole-FTL "top-ads (1)")"
|
read -r -a top_ad_raw <<< "$(pihole-FTL "top-ads (1)")"
|
||||||
read -r -a top_domain_raw <<< "$(pihole-FTL "top-domains (1)")"
|
read -r -a top_domain_raw <<< "$(pihole-FTL "top-domains (1)")"
|
||||||
|
@ -412,6 +414,8 @@ get_strings() {
|
||||||
used_str="Used: "
|
used_str="Used: "
|
||||||
leased_str="Leased: "
|
leased_str="Leased: "
|
||||||
domains_being_blocked=$(printf "%'.0f" "$domains_being_blocked")
|
domains_being_blocked=$(printf "%'.0f" "$domains_being_blocked")
|
||||||
|
ads_blocked_today=$(printf "%'.0f" "$ads_blocked_today")
|
||||||
|
dns_queries_today=$(printf "%'.0f" "$dns_queries_today")
|
||||||
ph_info="Blocking: $domains_being_blocked sites"
|
ph_info="Blocking: $domains_being_blocked sites"
|
||||||
total_str="Total: "
|
total_str="Total: "
|
||||||
else
|
else
|
||||||
|
@ -473,8 +477,8 @@ chronoFunc() {
|
||||||
${COL_DARK_GRAY}$scr_line_str${COL_NC}"
|
${COL_DARK_GRAY}$scr_line_str${COL_NC}"
|
||||||
else
|
else
|
||||||
echo -e "[0;1;31;91m|¯[0;1;33;93m¯[0;1;32;92m¯[0;1;32;92m(¯[0;1;36;96m)[0;1;34;94m_[0;1;35;95m|[0;1;33;93m¯[0;1;31;91m|_ [0;1;32;92m__[0;1;36;96m_|[0;1;31;91m¯[0;1;34;94m|[0;1;35;95m__[0;1;31;91m_[0m$phc_ver_str
|
echo -e "[0;1;31;91m|¯[0;1;33;93m¯[0;1;32;92m¯[0;1;32;92m(¯[0;1;36;96m)[0;1;34;94m_[0;1;35;95m|[0;1;33;93m¯[0;1;31;91m|_ [0;1;32;92m__[0;1;36;96m_|[0;1;31;91m¯[0;1;34;94m|[0;1;35;95m__[0;1;31;91m_[0m$phc_ver_str
|
||||||
[0;1;33;93m| ¯[0;1;32;92m_[0;1;36;96m/¯[0;1;34;94m|[0;1;35;95m_[0;1;31;91m| [0;1;33;93m' [0;1;32;92m\/ [0;1;36;96m_ [0;1;34;94m\ [0;1;35;95m/ [0;1;31;91m-[0;1;33;93m_)[0m$lte_ver_str
|
[0;1;33;93m| ¯[0;1;32;92m_[0;1;36;96m/¯[0;1;34;94m|[0;1;35;95m_[0;1;31;91m| [0;1;33;93m' [0;1;32;92m\\/ [0;1;36;96m_ [0;1;34;94m\\ [0;1;35;95m/ [0;1;31;91m-[0;1;33;93m_)[0m$lte_ver_str
|
||||||
[0;1;32;92m|_[0;1;36;96m| [0;1;34;94m|_[0;1;35;95m| [0;1;33;93m|_[0;1;32;92m||[0;1;36;96m_\[0;1;34;94m__[0;1;35;95m_/[0;1;31;91m_\[0;1;33;93m__[0;1;32;92m_|[0m$ftl_ver_str
|
[0;1;32;92m|_[0;1;36;96m| [0;1;34;94m|_[0;1;35;95m| [0;1;33;93m|_[0;1;32;92m||[0;1;36;96m_\\[0;1;34;94m__[0;1;35;95m_/[0;1;31;91m_\\[0;1;33;93m__[0;1;32;92m_|[0m$ftl_ver_str
|
||||||
${COL_DARK_GRAY}$scr_line_str${COL_NC}"
|
${COL_DARK_GRAY}$scr_line_str${COL_NC}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue