Skip to content

Commit

Permalink
Improve tempfile handling
Browse files Browse the repository at this point in the history
  • Loading branch information
ghostwords committed Mar 4, 2024
1 parent 1374838 commit d08899f
Showing 1 changed file with 12 additions and 7 deletions.
19 changes: 12 additions & 7 deletions stats.sh
Original file line number Diff line number Diff line change
@@ -1,18 +1,23 @@
#!/usr/bin/env bash

tmp_dir=$(mktemp -d "${TMPDIR:-/tmp}/badger_sett_stats.XXXXXXXXX")
trap 'rm -rf "$tmp_dir"' EXIT

printf "%-11s%-8s%-10s%-24s%-9s%-12s%-14s\n" \
BROWSER SITES TRACKERS 'ERRORS (TMOs, ANTIBOT)' CRASHES DURATION 'GIT INFO'

for rev in $(git rev-list HEAD -- log.txt); do
git --no-pager show "$rev":log.txt > /tmp/log.txt
num_domains=$(grep 'domains to crawl' /tmp/log.txt | grep -oP '[0-9,]+')
log_txt="$tmp_dir/log.txt"
git --no-pager show "$rev":log.txt > "$log_txt"
num_domains=$(grep 'domains to crawl' "$log_txt" | grep -oP '[0-9,]+')

printf "%-11s%-8s%-10s%6s%-18s%-9s%-12s%-14s\n" \
"$(grep -oP 'browser: [A-Za-z]+' /tmp/log.txt | cut -d ' ' -f 2- | tr '[:upper:]' '[:lower:]')" \
"$(grep -oP 'browser: [A-Za-z]+' "$log_txt" | cut -d ' ' -f 2- | tr '[:upper:]' '[:lower:]')" \
"$num_domains" \
"$(./validate.py <(git --no-pager show "$rev:results.json") 2>/dev/null | grep 'Newly blocked domains' | grep -oP '[\d]+')" \
"$(grep 'errored on' /tmp/log.txt | rev | cut -d ' ' -f -2 | rev | cut -d ' ' -f 2- | sed 's/[()]//g')" \
" ($(echo "$(grep -c 'Timed out loading ' /tmp/log.txt) * 100 / $num_domains" | bc -l | xargs printf "%.1f")%, $(echo "$(grep -c 'security page' /tmp/log.txt) * 100 / $num_domains" | bc -l | xargs printf "%.1f")%)" \
"$(grep -c 'restarted' /tmp/log.txt)" \
"$((($(grep 'Finished scan' /tmp/log.txt | cut -d " " -f "1,2" | xargs -0 date +%s -d) - $(head -n1 /tmp/log.txt | cut -d " " -f "1,2" | xargs -0 date +%s -d)) / 3600)) hours" \
"$(grep 'errored on' "$log_txt" | rev | cut -d ' ' -f -2 | rev | cut -d ' ' -f 2- | sed 's/[()]//g')" \
" ($(echo "$(grep -c 'Timed out loading ' "$log_txt") * 100 / $num_domains" | bc -l | xargs printf "%.1f")%, $(echo "$(grep -c 'security page' "$log_txt") * 100 / $num_domains" | bc -l | xargs printf "%.1f")%)" \
"$(grep -c 'restarted' "$log_txt")" \
"$((($(grep 'Finished scan' "$log_txt" | cut -d " " -f "1,2" | xargs -0 date +%s -d) - $(head -n1 "$log_txt" | cut -d " " -f "1,2" | xargs -0 date +%s -d)) / 3600)) hours" \
"$(git show -s --format="%h %ci" "$rev")"
done

0 comments on commit d08899f

Please sign in to comment.