it profiles
Signed-off-by: Ava Hahn <a.hahn@f5.com>
This commit is contained in:
parent
8924f2ef22
commit
d07bf56cd7
7 changed files with 112 additions and 33 deletions
62
run.sh
62
run.sh
|
|
@ -1,5 +1,63 @@
|
|||
#!/bin/zsh
|
||||
|
||||
if [[ ! $1 ]]; then
|
||||
echo "Error: expected one argument (nginx code directory)"
|
||||
exit
|
||||
fi
|
||||
|
||||
if [[ ! -d $1 ]]; then
|
||||
echo "Error: provided nginx code directory is invalid"
|
||||
exit
|
||||
fi
|
||||
|
||||
PROFILE_OUTPUT=PROFILE.LOG
|
||||
if [ -f $PROFILE_OUTPUT ]; then
|
||||
mv $PROFILE_OUTPUT $PROFILE_OUTPUT.old
|
||||
fi
|
||||
|
||||
KACLIENT=nginx-profile-setup-kaclient-1
|
||||
KAPROXY=nginx-profile-setup-kaproxy-1
|
||||
|
||||
echo "[+] building and deploying containers"
|
||||
go build keepalive-svc.go
|
||||
mv keepalive-svc kasvc/
|
||||
rsync -avz ../nginx kaproxy/
|
||||
sudo docker-compose up --build
|
||||
rsync -avz $1 kaproxy/
|
||||
sudo docker-compose up --build -d
|
||||
sudo docker exec -it $KAPROXY callgrind_control -i off
|
||||
|
||||
sudo docker wait $KACLIENT
|
||||
echo "[+] client finished, triggering reload"
|
||||
sudo docker exec -it $KAPROXY callgrind_control -i on
|
||||
sudo docker kill -s CONT $KAPROXY
|
||||
|
||||
echo "[+] wait five seconds for reload complete"
|
||||
sleep 5
|
||||
sudo docker exec -it $KAPROXY callgrind_control -i off
|
||||
|
||||
echo " > restarting client"
|
||||
sudo docker-compose restart kaclient
|
||||
sudo docker wait $KACLIENT
|
||||
|
||||
echo "[+] client finished again. Killing NGINX and fetching profile data"
|
||||
sudo docker kill -s INT $KAPROXY
|
||||
sudo docker exec -it $KAPROXY callgrind_control -d
|
||||
|
||||
echo "[+] building profiling report"
|
||||
sudo docker exec $KAPROXY bash -c "find /tmp -iname \"callgrind.out*\"" | while read file
|
||||
do
|
||||
echo " > processing: " $file
|
||||
F=$(basename $file)
|
||||
sudo docker cp $KAPROXY:$file $F;
|
||||
sudo chmod 777 $F
|
||||
echo "Output file: $F" >> $PROFILE_OUTPUT
|
||||
callgrind_annotate \
|
||||
--include=kaproxy \
|
||||
--auto=yes \
|
||||
$F >> $PROFILE_OUTPUT
|
||||
echo "End of profile: $F\n\n\n" >> $PROFILE_OUTPUT
|
||||
rm -f $F
|
||||
done
|
||||
|
||||
echo "[+] cleaning up"
|
||||
sudo docker-compose down
|
||||
less $PROFILE_OUTPUT
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue