From c9c4bc0141c9a9c1fd291901615aca315a481941 Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Sun, 18 Jun 2017 22:53:20 +0200 Subject: [PATCH] profiling: add streaming-write profiling helper Writes 1GB of zeros to a gocryptfs mount while collecting cpu and memory profiles. --- profiling/streaming-write.bash | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100755 profiling/streaming-write.bash diff --git a/profiling/streaming-write.bash b/profiling/streaming-write.bash new file mode 100755 index 0000000..27d7098 --- /dev/null +++ b/profiling/streaming-write.bash @@ -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"