• Austin Clements's avatar
    runtime: fix MemStats.{PauseNS,PauseEnd,PauseTotalNS,LastGC} · 777ab5ce
    Austin Clements authored
    These memstats are currently being computed by gcMark, which was
    appropriate in Go 1.4, but gcMark is now just one part of a bigger
    picture. In particular, it can't account for the sweep termination
    pause time, it can't account for all of the mark termination pause
    time, and the reported "pause end" and "last GC" times will be
    slightly earlier than they really are.
    
    Lift computing of these statistics into func gc, which has the
    appropriate visibility into the process to compute them correctly.
    
    Fixes one of the issues in #10323. This does not add new statistics
    appropriate to the concurrent collector; it simply fixes existing
    statistics that are being misreported.
    
    Change-Id: I670cb16594a8641f6b27acf4472db15b6e8e086e
    Reviewed-on: https://go-review.googlesource.com/11794Reviewed-by: 's avatarRuss Cox <rsc@golang.org>
    777ab5ce
mgc.go 54.8 KB