]> Cypherpunks repositories - gostls13.git/commitdiff
runtime/pprof: include labels in profile dump
authorMichael Pratt <mpratt@google.com>
Tue, 9 Nov 2021 15:59:32 +0000 (10:59 -0500)
committerMichael Pratt <mpratt@google.com>
Tue, 9 Nov 2021 17:02:38 +0000 (17:02 +0000)
For tests of pprof label support having the sample labels in the output
is needed for effective debugging.

For #48577

Change-Id: Ic7c5bc90cb33e8fb477f7db62d9b56a7a9d6ffa8
Reviewed-on: https://go-review.googlesource.com/c/go/+/362614
Trust: Michael Pratt <mpratt@google.com>
Run-TryBot: Michael Pratt <mpratt@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Cherry Mui <cherryyz@google.com>
src/runtime/pprof/pprof_test.go

index 417d5034a6e2bed949b90dee7669230bb23e018a..704c0c516d3de0cc46b12922c9d2eb0759de0364 100644 (file)
@@ -494,6 +494,7 @@ func profileOk(t *testing.T, matches matchFunc, need []string, avoid []string, p
        p := parseProfile(t, prof.Bytes(), func(count uintptr, stk []*profile.Location, labels map[string][]string) {
                fmt.Fprintf(&buf, "%d:", count)
                fprintStack(&buf, stk)
+               fmt.Fprintf(&buf, " labels: %v\n", labels)
                samples += count
                for i, spec := range need {
                        if matches(spec, count, stk, labels) {
@@ -675,7 +676,6 @@ func fprintStack(w io.Writer, stk []*profile.Location) {
                }
                fmt.Fprintf(w, ")")
        }
-       fmt.Fprintf(w, "\n")
 }
 
 // Test that profiling of division operations is okay, especially on ARM. See issue 6681.