From 5288fadbdc1b81993c51d5044035144fccebd75e Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 12 Dec 2014 18:41:57 +0100 Subject: 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 --- src/runtime/malloc.go | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/runtime/malloc.go') 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 -- cgit v1.3-5-g9baa