]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/trace/v2: make the -pprof actually useful
authorMichael Anthony Knyszek <mknyszek@google.com>
Thu, 11 Apr 2024 21:27:08 +0000 (21:27 +0000)
committerGopher Robot <gobot@golang.org>
Thu, 11 Apr 2024 22:45:16 +0000 (22:45 +0000)
In both the v1 and v2 cmd/trace, pprofMatchingGoroutines will generate
no output at all if the filter name passed to it is the empty string.

This is rather pointless because there are at least two places where we
don't pass a name to filter. Modify pprofMatchingGoroutines to include
*all* goroutines in the trace if the name to filter by is not specified.

For #66782.

Change-Id: I6b72298d676bc93892b075a7426e6e56bc6656c7
Reviewed-on: https://go-review.googlesource.com/c/go/+/578356
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Auto-Submit: Michael Knyszek <mknyszek@google.com>

src/cmd/trace/v2/pprof.go

index 05895eda3dee8f87f13bce35115999ebf3ef2d49..43b0257fc0fc8808a0434c10f594f43d0a1dda11 100644 (file)
@@ -48,7 +48,7 @@ func pprofByRegion(compute computePprofFunc, t *parsedTrace) traceviewer.Profile
 func pprofMatchingGoroutines(name string, t *parsedTrace) (map[tracev2.GoID][]interval, error) {
        res := make(map[tracev2.GoID][]interval)
        for _, g := range t.summary.Goroutines {
-               if g.Name != name {
+               if name != "" && g.Name != name {
                        continue
                }
                endTime := g.EndTime