Skip to content

Commit 18ccc6b

Browse files
committed
add analyze.sh script I have used a lot
1 parent 1de6278 commit 18ccc6b

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

scripts/analyze.sh

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Rough and dirty shell script to scrape the `log.rs` output and
2+
# analyze what kinds of tasks have been started and stopped. Very
3+
# useful in tracking down deadlocks.
4+
5+
TICKLES=$(grep Tickle $1 | wc -l)
6+
7+
INJECT_JOBS=$(grep InjectJobs $1 | wc -l)
8+
echo "Injected jobs:" $(((INJECT_JOBS * 2)))
9+
10+
JOINS=$(grep Join $1 | wc -l)
11+
echo "Joins: " $JOINS
12+
13+
POPPED_RHS=$(grep PoppedRhs $1 | wc -l)
14+
POPPED_JOB=$(grep PoppedJob $1 | wc -l)
15+
POPPED_TOTAL=$((($POPPED_RHS + $POPPED_JOB)))
16+
echo "Popped jobs: " $POPPED_TOTAL = rhs $POPPED_RHS + other $POPPED_JOB
17+
18+
FOUND_WORK=$(grep FoundWork $1 | wc -l)
19+
echo "Found work: " $FOUND_WORK
20+
21+
STOLE_WORK=$(grep StoleWork $1 | wc -l)
22+
echo "Stole work: " $STOLE_WORK
23+
24+
UNINJECTED_WORK=$(grep UninjectedWork $1 | wc -l)
25+
echo "Uninjected: " $UNINJECTED_WORK
26+
27+
echo "Join balance: " $((( $JOINS - $POPPED_TOTAL - $STOLE_WORK )))
28+
echo "Inj. balance: " $((( $INJECT_JOBS * 2 - $UNINJECTED_WORK )))
29+
echo "Total balance:" $((( $FOUND_WORK + $POPPED_TOTAL - $JOINS - $INJECT_JOBS * 2 )))
30+

0 commit comments

Comments
 (0)