profiling: add streaming-write profiling helper

Writes 1GB of zeros to a gocryptfs mount while collecting
cpu and memory profiles.
This commit is contained in:
Jakob Unterwurzacher 2017-06-18 22:53:20 +02:00
parent a4563e21ec
commit c9c4bc0141
1 changed files with 22 additions and 0 deletions

22
profiling/streaming-write.bash Executable file
View File

@ -0,0 +1,22 @@
#!/bin/bash -eu
cd "$(dirname "$0")"
T=$(mktemp -d)
mkdir $T/a $T/b
../gocryptfs -init -quiet -scryptn 10 -extpass "echo test" $T/a
../gocryptfs -quiet -extpass "echo test" -cpuprofile $T/cprof -memprofile $T/mprof \
$T/a $T/b
# Cleanup trap
trap "cd /; fusermount -u -z $T/b; rm -Rf $T/a" EXIT
# Write 10 x 100MB instead of 1 x 1GB to keep the used disk space low
for i in $(seq 1 10); do
dd if=/dev/zero of=$T/b/zero bs=1M count=100
done
echo
echo "Hint: go tool pprof ../gocryptfs $T/cprof"
echo " go tool pprof -alloc_space ../gocryptfs /tmp/tmp.DRhBSFO6pu/mprof"