mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-11-15 14:20:38 +08:00
54 lines
1.3 KiB
Bash
54 lines
1.3 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
set -e
|
||
|
|
||
|
function print_help {
|
||
|
OUTPUT=$(cat <<- EOM
|
||
|
|
||
|
A script to benchmark the initial sync performance of Nylas Mail. To use,
|
||
|
simply run the script after authing whatever accounts you wish to measure
|
||
|
in your development version of Nylas Mail. The benchmarking script will
|
||
|
clear all of the data except for your accounts and open and close Nylas
|
||
|
Mail several times, printing out the number of messages synced after each
|
||
|
iteration.
|
||
|
)
|
||
|
echo "$OUTPUT"
|
||
|
}
|
||
|
|
||
|
if [[ $1 == '-h' || $1 == '--help' ]]
|
||
|
then
|
||
|
print_help
|
||
|
exit 0
|
||
|
fi
|
||
|
|
||
|
# Run sudo to prime root privileges
|
||
|
sudo ls > /dev/null
|
||
|
|
||
|
CWD="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||
|
NYLAS_DIR="$HOME/.nylas-dev"
|
||
|
EDGEHILL_DB="$NYLAS_DIR/edgehill.db"
|
||
|
TIME_LIMIT=120
|
||
|
ITERS=5
|
||
|
|
||
|
for i in `seq 1 $ITERS`
|
||
|
do
|
||
|
bash $CWD/drop-data-except-accounts.sh > /dev/null
|
||
|
|
||
|
(npm start &> /dev/null &)
|
||
|
|
||
|
sleep $TIME_LIMIT
|
||
|
|
||
|
ELECTRON_PID=`ps aux | grep "Electron packages/client-app" | grep -v grep | awk '{print $2}'`
|
||
|
sudo kill -9 $ELECTRON_PID
|
||
|
|
||
|
MESSAGE_COUNT=`sqlite3 $EDGEHILL_DB 'SELECT COUNT(*) FROM Message'`
|
||
|
echo "Synced Messages: $MESSAGE_COUNT"
|
||
|
|
||
|
# Sometimes it takes a while to shutdown
|
||
|
while [[ $ELECTRON_PID != '' ]]
|
||
|
do
|
||
|
sleep 1
|
||
|
ELECTRON_PID=`ps aux | grep "Electron packages/client-app" | grep -v grep | awk '{print $2}'`
|
||
|
done
|
||
|
done
|