Preserving an ordering wherein spans are always named before their
constituents makes parsing much more straightforward.
Change-Id: Ida8764801a6c516d672ba343e4ce01b66ce9b427
Reviewed-on: https://go-review.googlesource.com/c/go/+/586999
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
throw("traceSnapshotMemory: tracing is not enabled")
}
- // Write out all the goroutine stacks.
- forEachGRace(func(gp *g) {
- trace.GoroutineStackExists(gp.stack.lo, gp.stack.hi-gp.stack.lo)
- })
-
// Write out all the heap spans and heap objects.
for _, s := range mheap_.allspans {
if s.state.get() == mSpanDead {
abits.advance()
}
}
+
+ // Write out all the goroutine stacks.
+ forEachGRace(func(gp *g) {
+ trace.GoroutineStackExists(gp.stack.lo, gp.stack.hi-gp.stack.lo)
+ })
traceRelease(trace)
}