runtime: remove runtime frames from stacks in traces
Stip uninteresting bottom and top frames from trace stacks.
This makes both binary and json trace files smaller,
and also makes stacks shorter and more readable in the viewer.
Change-Id: Ib9c80ccc280504f0e235f867f53f1d2652c41583
Reviewed-on: https://go-review.googlesource.com/5523
Reviewed-by: Keith Randall <khr@golang.org>
Run-TryBot: Dmitry Vyukov <dvyukov@google.com>
diff --git a/src/runtime/select.go b/src/runtime/select.go
index db097db..8a4ff68 100644
--- a/src/runtime/select.go
+++ b/src/runtime/select.go
@@ -202,7 +202,7 @@
}
func block() {
- gopark(nil, nil, "select (no cases)", traceEvGoStop) // forever
+ gopark(nil, nil, "select (no cases)", traceEvGoStop, 1) // forever
}
// overwrites return pc on stack to signal which case of the select
@@ -392,7 +392,7 @@
// wait for someone to wake us up
gp.param = nil
- gopark(selparkcommit, unsafe.Pointer(sel), "select", traceEvGoBlockSelect)
+ gopark(selparkcommit, unsafe.Pointer(sel), "select", traceEvGoBlockSelect, 2)
// someone woke us up
sellock(sel)
@@ -493,7 +493,7 @@
if sg.releasetime != 0 {
sg.releasetime = cputicks()
}
- goready(gp)
+ goready(gp, 3)
} else {
selunlock(sel)
}
@@ -519,7 +519,7 @@
if sg.releasetime != 0 {
sg.releasetime = cputicks()
}
- goready(gp)
+ goready(gp, 3)
} else {
selunlock(sel)
}
@@ -549,7 +549,7 @@
if sg.releasetime != 0 {
sg.releasetime = cputicks()
}
- goready(gp)
+ goready(gp, 3)
goto retc
rclose:
@@ -585,7 +585,7 @@
if sg.releasetime != 0 {
sg.releasetime = cputicks()
}
- goready(gp)
+ goready(gp, 3)
retc:
if cas.releasetime > 0 {