I appear to have a memory leak related to receiving large files and sending them to GCS. Trying to use pprof to profile memory usage for my appengine code. My tests use appengine/aetest and I can output the memory profile, but the results don't seem to show me anything useful.
First I made a benchmark. It is a very slow operation, so it only runs once.
$ goapp test ./cloudstore -run=none -bench=. -memprofile=cloud.prof
BenchmarkLargeFile 1 54124706398 ns/op
$ go tool pprof --text cloudstore.test cloud.prof
Adjusting heap profiles for 1-in-524288 sampling rate
Total: 0.5 MB
0.5 100.0% 100.0% 0.5 100.0% runtime.newG
0.0 0.0% 100.0% 0.5 100.0% allocg
0.0 0.0% 100.0% 0.5 100.0% mcommoninit
0.0 0.0% 100.0% 0.5 100.0% runtime.malg
0.0 0.0% 100.0% 0.5 100.0% runtime.mpreinit
0.0 0.0% 100.0% 0.5 100.0% runtime.rt0_go
0.0 0.0% 100.0% 0.5 100.0% runtime.schedinit
None of my function calls appear and this 0.5 MB figure is obviously incorrect (I am opening a 12 MB file and uploading it). How do I get the real memory profile?
$ go version
go version go1.3.1 linux/386
$ goapp version
go version go1.4.2 (appengine-1.9.25) linux/386