• Hana Kim's avatar
    cmd/trace: add memory usage reporting · a66af728
    Hana Kim authored
    Enabled when the tool runs with DEBUG_MEMORY_USAGE=1 env var.
    After reporting the usage, it waits until user enters input
    (helpful when checking top or other memory monitor)
    
    Also adds net/http/pprof to export debug endpoints.
    
    From the trace included in #21870
    
    $ DEBUG_MEMORY_USAGE=1 go tool trace trace.out
    2018/02/21 16:04:49 Parsing trace...
    after parsing trace
     Alloc:	3385747848 Bytes
     Sys:	3661654648 Bytes
     HeapReleased:	0 Bytes
     HeapSys:	3488907264 Bytes
     HeapInUse:	3426377728 Bytes
     HeapAlloc:	3385747848 Bytes
    Enter to continue...
    2018/02/21 16:05:09 Serializing trace...
    after generating trace
     Alloc:	4908929616 Bytes
     Sys:	5319063640 Bytes
     HeapReleased:	0 Bytes
     HeapSys:	5032411136 Bytes
     HeapInUse:	4982865920 Bytes
     HeapAlloc:	4908929616 Bytes
    Enter to continue...
    2018/02/21 16:05:18 Splitting trace...
    after spliting trace
     Alloc:	4909026200 Bytes
     Sys:	5319063640 Bytes
     HeapReleased:	0 Bytes
     HeapSys:	5032411136 Bytes
     HeapInUse:	4983046144 Bytes
     HeapAlloc:	4909026200 Bytes
    Enter to continue...
    2018/02/21 16:05:39 Opening browser. Trace viewer is listening on http://127.0.0.1:33661
    after httpJsonTrace
     Alloc:	5288336048 Bytes
     Sys:	7790245896 Bytes
     HeapReleased:	0 Bytes
     HeapSys:	7381123072 Bytes
     HeapInUse:	5324120064 Bytes
     HeapAlloc:	5288336048 Bytes
    Enter to continue...
    
    Change-Id: I88bb3cb1af3cb62e4643a8cbafd5823672b2e464
    Reviewed-on: https://go-review.googlesource.com/92355Reviewed-by: 's avatarPeter Weinberger <pjw@google.com>
    a66af728
main.go 5.98 KB