aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/malloc.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2014-12-12 18:41:57 +0100
committerDmitry Vyukov <dvyukov@google.com>2015-01-28 16:35:24 +0000
commit5288fadbdc1b81993c51d5044035144fccebd75e (patch)
treefedd0e3654cabcbb0a1a82efd21690da3c210419 /src/runtime/malloc.go
parentf30a2b9ca7ccfd325a5ebcc8eb57e39d8e9c7af3 (diff)
downloadgo-5288fadbdc1b81993c51d5044035144fccebd75e.tar.xz
runtime: add tracing of runtime events
Add actual tracing of interesting runtime events. Part of a larger tracing functionality: https://docs.google.com/document/u/1/d/1FP5apqzBgr7ahCCgFO-yoVhk4YZrNIDNf9RybngBc14/pub Full change: https://codereview.appspot.com/146920043 Change-Id: Icccf54aea54e09350bb698ba6bf11532f9fbe6d3 Reviewed-on: https://go-review.googlesource.com/1451 Reviewed-by: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src/runtime/malloc.go')
-rw-r--r--src/runtime/malloc.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/runtime/malloc.go b/src/runtime/malloc.go
index 69eb090706..f827b9c418 100644
--- a/src/runtime/malloc.go
+++ b/src/runtime/malloc.go
@@ -368,6 +368,12 @@ func gcwork(force int32) {
if force == 0 {
gctimer.cycle.sweepterm = nanotime()
}
+
+ if trace.enabled {
+ traceGoSched()
+ traceGCStart()
+ }
+
// Pick up the remaining unswept/not being swept spans before we STW
for gosweepone() != ^uintptr(0) {
sweep.nbgsweep++
@@ -423,6 +429,11 @@ func gcwork(force int32) {
gccheckmark_m(startTime, eagersweep)
})
+ if trace.enabled {
+ traceGCDone()
+ traceGoStart()
+ }
+
// all done
mp.gcing = 0