Fix Telegram report accuracy: increase log tail, add connecting count
- Increase --tail from 50 to 400 in all Telegram docker logs calls - Add connecting peer count to match TUI format - Format: "Clients: X connected, Y connecting" consistently
This commit is contained in:
31
conduit.sh
31
conduit.sh
@@ -4179,15 +4179,18 @@ telegram_build_report() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Connected peers (use awk like show_status does)
|
# Connected peers + connecting (matching TUI format)
|
||||||
local total_peers=0
|
local total_peers=0
|
||||||
|
local total_connecting=0
|
||||||
for i in $(seq 1 ${CONTAINER_COUNT:-1}); do
|
for i in $(seq 1 ${CONTAINER_COUNT:-1}); do
|
||||||
local cname=$(get_container_name $i)
|
local cname=$(get_container_name $i)
|
||||||
local last_stat=$(docker logs --tail 50 "$cname" 2>&1 | grep "\[STATS\]" | tail -1)
|
local last_stat=$(docker logs --tail 400 "$cname" 2>&1 | grep "\[STATS\]" | tail -1)
|
||||||
local peers=$(echo "$last_stat" | awk '{for(j=1;j<=NF;j++){if($j=="Connected:") print $(j+1)+0}}' | head -1)
|
local peers=$(echo "$last_stat" | awk '{for(j=1;j<=NF;j++){if($j=="Connected:") print $(j+1)+0}}' | head -1)
|
||||||
|
local cing=$(echo "$last_stat" | awk '{for(j=1;j<=NF;j++){if($j=="Connecting:") print $(j+1)+0}}' | head -1)
|
||||||
total_peers=$((total_peers + ${peers:-0}))
|
total_peers=$((total_peers + ${peers:-0}))
|
||||||
|
total_connecting=$((total_connecting + ${cing:-0}))
|
||||||
done
|
done
|
||||||
report+="👥 Peers: ${total_peers} connected"
|
report+="👥 Clients: ${total_peers} connected, ${total_connecting} connecting"
|
||||||
report+=$'\n'
|
report+=$'\n'
|
||||||
|
|
||||||
# CPU / RAM (normalize CPU by core count like dashboard)
|
# CPU / RAM (normalize CPU by core count like dashboard)
|
||||||
@@ -4461,7 +4464,7 @@ No Conduit containers are running\\!"
|
|||||||
local total_peers=0
|
local total_peers=0
|
||||||
for i in $(seq 1 ${CONTAINER_COUNT:-1}); do
|
for i in $(seq 1 ${CONTAINER_COUNT:-1}); do
|
||||||
local cname=$(get_container_name $i)
|
local cname=$(get_container_name $i)
|
||||||
local last_stat=$(timeout 5 docker logs --tail 50 "$cname" 2>&1 | grep "\[STATS\]" | tail -1)
|
local last_stat=$(timeout 5 docker logs --tail 400 "$cname" 2>&1 | grep "\[STATS\]" | tail -1)
|
||||||
local peers=$(echo "$last_stat" | awk '{for(j=1;j<=NF;j++){if($j=="Connected:") print $(j+1)+0}}' | head -1)
|
local peers=$(echo "$last_stat" | awk '{for(j=1;j<=NF;j++){if($j=="Connected:") print $(j+1)+0}}' | head -1)
|
||||||
total_peers=$((total_peers + ${peers:-0}))
|
total_peers=$((total_peers + ${peers:-0}))
|
||||||
done
|
done
|
||||||
@@ -4485,7 +4488,7 @@ record_snapshot() {
|
|||||||
local total_peers=0
|
local total_peers=0
|
||||||
for i in $(seq 1 ${CONTAINER_COUNT:-1}); do
|
for i in $(seq 1 ${CONTAINER_COUNT:-1}); do
|
||||||
local cname=$(get_container_name $i)
|
local cname=$(get_container_name $i)
|
||||||
local last_stat=$(docker logs --tail 50 "$cname" 2>&1 | grep "\[STATS\]" | tail -1)
|
local last_stat=$(docker logs --tail 400 "$cname" 2>&1 | grep "\[STATS\]" | tail -1)
|
||||||
local peers=$(echo "$last_stat" | awk '{for(j=1;j<=NF;j++){if($j=="Connected:") print $(j+1)+0}}' | head -1)
|
local peers=$(echo "$last_stat" | awk '{for(j=1;j<=NF;j++){if($j=="Connected:") print $(j+1)+0}}' | head -1)
|
||||||
total_peers=$((total_peers + ${peers:-0}))
|
total_peers=$((total_peers + ${peers:-0}))
|
||||||
done
|
done
|
||||||
@@ -4625,13 +4628,16 @@ except Exception:
|
|||||||
;;
|
;;
|
||||||
/peers|/peers@*)
|
/peers|/peers@*)
|
||||||
local total_peers=0
|
local total_peers=0
|
||||||
|
local total_cing=0
|
||||||
for i in $(seq 1 ${CONTAINER_COUNT:-1}); do
|
for i in $(seq 1 ${CONTAINER_COUNT:-1}); do
|
||||||
local cname=$(get_container_name $i)
|
local cname=$(get_container_name $i)
|
||||||
local last_stat=$(timeout 5 docker logs --tail 50 "$cname" 2>&1 | grep "\[STATS\]" | tail -1)
|
local last_stat=$(timeout 5 docker logs --tail 400 "$cname" 2>&1 | grep "\[STATS\]" | tail -1)
|
||||||
local peers=$(echo "$last_stat" | awk '{for(j=1;j<=NF;j++){if($j=="Connected:") print $(j+1)+0}}' | head -1)
|
local peers=$(echo "$last_stat" | awk '{for(j=1;j<=NF;j++){if($j=="Connected:") print $(j+1)+0}}' | head -1)
|
||||||
|
local cing=$(echo "$last_stat" | awk '{for(j=1;j<=NF;j++){if($j=="Connecting:") print $(j+1)+0}}' | head -1)
|
||||||
total_peers=$((total_peers + ${peers:-0}))
|
total_peers=$((total_peers + ${peers:-0}))
|
||||||
|
total_cing=$((total_cing + ${cing:-0}))
|
||||||
done
|
done
|
||||||
telegram_send "👥 Peers: ${total_peers} connected"
|
telegram_send "👥 Clients: ${total_peers} connected, ${total_cing} connecting"
|
||||||
;;
|
;;
|
||||||
/uptime|/uptime@*)
|
/uptime|/uptime@*)
|
||||||
local ut_msg="⏱ *Uptime Report*"
|
local ut_msg="⏱ *Uptime Report*"
|
||||||
@@ -4669,7 +4675,7 @@ except Exception:
|
|||||||
if echo "$docker_names" | grep -q "^${cname}$"; then
|
if echo "$docker_names" | grep -q "^${cname}$"; then
|
||||||
ct_msg+="C${i} (${cname}): 🟢 Running"
|
ct_msg+="C${i} (${cname}): 🟢 Running"
|
||||||
ct_msg+=$'\n'
|
ct_msg+=$'\n'
|
||||||
local logs=$(timeout 5 docker logs --tail 50 "$cname" 2>&1 | grep "\[STATS\]" | tail -1)
|
local logs=$(timeout 5 docker logs --tail 400 "$cname" 2>&1 | grep "\[STATS\]" | tail -1)
|
||||||
if [ -n "$logs" ]; then
|
if [ -n "$logs" ]; then
|
||||||
local c_cing c_conn c_up c_down
|
local c_cing c_conn c_up c_down
|
||||||
IFS='|' read -r c_cing c_conn c_up c_down <<< $(echo "$logs" | awk '{
|
IFS='|' read -r c_cing c_conn c_up c_down <<< $(echo "$logs" | awk '{
|
||||||
@@ -4786,15 +4792,18 @@ build_report() {
|
|||||||
report+=$'\n'
|
report+=$'\n'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Peers
|
# Peers (connected + connecting, matching TUI format)
|
||||||
local total_peers=0
|
local total_peers=0
|
||||||
|
local total_connecting=0
|
||||||
for i in $(seq 1 ${CONTAINER_COUNT:-1}); do
|
for i in $(seq 1 ${CONTAINER_COUNT:-1}); do
|
||||||
local cname=$(get_container_name $i)
|
local cname=$(get_container_name $i)
|
||||||
local last_stat=$(docker logs --tail 50 "$cname" 2>&1 | grep "\[STATS\]" | tail -1)
|
local last_stat=$(docker logs --tail 400 "$cname" 2>&1 | grep "\[STATS\]" | tail -1)
|
||||||
local peers=$(echo "$last_stat" | awk '{for(j=1;j<=NF;j++){if($j=="Connected:") print $(j+1)+0}}' | head -1)
|
local peers=$(echo "$last_stat" | awk '{for(j=1;j<=NF;j++){if($j=="Connected:") print $(j+1)+0}}' | head -1)
|
||||||
|
local cing=$(echo "$last_stat" | awk '{for(j=1;j<=NF;j++){if($j=="Connecting:") print $(j+1)+0}}' | head -1)
|
||||||
total_peers=$((total_peers + ${peers:-0}))
|
total_peers=$((total_peers + ${peers:-0}))
|
||||||
|
total_connecting=$((total_connecting + ${cing:-0}))
|
||||||
done
|
done
|
||||||
report+="👥 Peers: ${total_peers} connected"
|
report+="👥 Clients: ${total_peers} connected, ${total_connecting} connecting"
|
||||||
report+=$'\n'
|
report+=$'\n'
|
||||||
|
|
||||||
# Active unique clients
|
# Active unique clients
|
||||||
|
|||||||
Reference in New Issue
Block a user