You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.9 KiB
59 lines
1.9 KiB
#!/bin/bash
|
|
|
|
# TimeSafari Daily Migration Summary
|
|
# Usage: ./daily-migration-summary.sh
|
|
|
|
LOG_FILE="migration-times.log"
|
|
TODAY=$(date +"%Y-%m-%d")
|
|
|
|
echo "📊 Daily Migration Summary - $TODAY"
|
|
echo "=================================="
|
|
|
|
if [ ! -f "$LOG_FILE" ]; then
|
|
echo "❌ No migration log found. Start tracking with ./time-migration.sh"
|
|
exit 1
|
|
fi
|
|
|
|
# Count components completed today
|
|
COMPLETED_TODAY=$(grep "^.*,$TODAY" "$LOG_FILE" | grep -v ",,,," | wc -l)
|
|
TOTAL_TIME=$(grep "^.*,$TODAY" "$LOG_FILE" | grep -v ",,,," | cut -d',' -f4 | awk '{sum+=$1} END {print sum}')
|
|
|
|
if [ "$COMPLETED_TODAY" -eq 0 ]; then
|
|
echo "No components completed today"
|
|
exit 0
|
|
fi
|
|
|
|
# Calculate average time
|
|
AVG_TIME=$(echo "scale=1; $TOTAL_TIME / $COMPLETED_TODAY" | bc -l)
|
|
|
|
echo "Components completed today: $COMPLETED_TODAY"
|
|
echo "Total time spent: $TOTAL_TIME minutes"
|
|
echo "Average time per component: $AVG_TIME minutes"
|
|
echo
|
|
|
|
# Show today's completions
|
|
echo "Today's Completions:"
|
|
echo "==================="
|
|
grep "^.*,$TODAY" "$LOG_FILE" | grep -v ",,,," | while IFS=',' read -r component start end duration complexity issues commit; do
|
|
echo "✅ $component ($duration minutes) - $commit"
|
|
done
|
|
|
|
echo
|
|
|
|
# Show overall progress
|
|
TOTAL_COMPLETED=$(grep -v "Component,Start Time" "$LOG_FILE" | grep -v ",,,," | wc -l)
|
|
REMAINING=$((92 - TOTAL_COMPLETED))
|
|
|
|
echo "Overall Progress:"
|
|
echo "=================="
|
|
echo "Total components: 92"
|
|
echo "Completed: $TOTAL_COMPLETED"
|
|
echo "Remaining: $REMAINING"
|
|
echo "Progress: $(echo "scale=1; $TOTAL_COMPLETED * 100 / 92" | bc -l)%"
|
|
|
|
# Estimate completion time
|
|
if [ "$TOTAL_COMPLETED" -gt 0 ]; then
|
|
OVERALL_AVG=$(grep -v "Component,Start Time" "$LOG_FILE" | grep -v ",,,," | cut -d',' -f4 | awk '{sum+=$1} END {print sum/'$TOTAL_COMPLETED'}')
|
|
ESTIMATED_HOURS=$(echo "scale=1; $REMAINING * $OVERALL_AVG / 60" | bc -l)
|
|
echo "Estimated remaining time: $ESTIMATED_HOURS hours"
|
|
fi
|