A couple of questions on understanding go pprof's memory profile...

When I list a certain function (with --alloc_objects), I see an allocation 
number associated with an import line mysteriously. I am pretty certain I 
can rule out any source line offset. For example,

(pprof) list foo
Total: 534804146
ROUTINE ======================== (snip)
  24057960   27540717 (flat, cum)  5.15% of Total
         .          .      1:package protocol
         .          .      2:
         .          .      3:import (
  12092676   12092676      4:   "bytes"
         .          .      5:   "fmt"
         .          .      6:   "net/url"
         .          .      7:   "strconv"
         .          .      8:   "strings"
         .          .      9:   "time"
         .          .     10:   "unicode"
         .          .     11:)

Any idea how to interpret this?

In addition, is there a way to drill down further into exactly what type of 
memory allocation is contributing to the allocation when I list a function? 
The tree/web/pdf view doesn't break down further function names (only shows 
the boxes with what I believe is the individual allocation size). I'm kind 
of guessing from the line of code on what it is, but it'd be great if there 
is a way to track down exactly what type of memory allocation it is (string 
copy, map growth, byte allocation, etc.). For example,

(pprof) list add
Total: 534804146
ROUTINE ======================== (snip)
  17248777   17248777 (flat, cum)  3.23% of Total
         .          .    220: l *logger
         .          .    221:}
         .          .    222:
         .          .    223:func (l *logger) add(data 
map[string]interface{}) {
         .          .    224: if id := l.Id(); id != "" {
  17248777   17248777    225: data[ID] = id
         .          .    226: }
         .          .    227:}
         .          .    228:

where id is a string.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to