• Austin Clements's avatar
    runtime: report GC CPU utilization in MemStats · 23e4744c
    Austin Clements authored
    This adds a GCCPUFraction field to MemStats that reports the
    cumulative fraction of the program's execution time spent in the
    garbage collector. This is equivalent to the utilization percent shown
    in the gctrace output and makes this available programmatically.
    
    This does make one small effect on the gctrace output: we now report
    the duration of mark termination up to just before the final
    start-the-world, rather than up to just after. However, unlike
    stop-the-world, I don't believe there's any way that start-the-world
    can block, so it should take negligible time.
    
    While there are many statistics one might want to expose via MemStats,
    this is one of the few that will undoubtedly remain meaningful
    regardless of future changes to the memory system.
    
    The diff for this change is larger than the actual change. Mostly it
    lifts the code for computing the GC CPU utilization out of the
    debug.gctrace path.
    
    Updates #10323.
    
    Change-Id: I0f7dc3fdcafe95e8d1233ceb79de606b48acd989
    Reviewed-on: https://go-review.googlesource.com/12844Reviewed-by: 's avatarRuss Cox <rsc@golang.org>
    23e4744c
Name
Last commit
Last update
..
archive Loading commit data...
bufio Loading commit data...
builtin Loading commit data...
bytes Loading commit data...
cmd Loading commit data...
compress Loading commit data...
container Loading commit data...
crypto Loading commit data...
database/sql Loading commit data...
debug Loading commit data...
encoding Loading commit data...
errors Loading commit data...
expvar Loading commit data...
flag Loading commit data...
fmt Loading commit data...
go Loading commit data...
hash Loading commit data...
html Loading commit data...
image Loading commit data...
index/suffixarray Loading commit data...
internal Loading commit data...
io Loading commit data...
log Loading commit data...
math Loading commit data...
mime Loading commit data...
net Loading commit data...
os Loading commit data...
path Loading commit data...
reflect Loading commit data...
regexp Loading commit data...
runtime Loading commit data...
sort Loading commit data...
strconv Loading commit data...
strings Loading commit data...
sync Loading commit data...
syscall Loading commit data...
testing Loading commit data...
text Loading commit data...
time Loading commit data...
unicode Loading commit data...
unsafe Loading commit data...
Make.dist Loading commit data...
all.bash Loading commit data...
all.bat Loading commit data...
all.rc Loading commit data...
androidtest.bash Loading commit data...
bootstrap.bash Loading commit data...
buildall.bash Loading commit data...
clean.bash Loading commit data...
clean.bat Loading commit data...
clean.rc Loading commit data...
iostest.bash Loading commit data...
make.bash Loading commit data...
make.bat Loading commit data...
make.rc Loading commit data...
nacltest.bash Loading commit data...
race.bash Loading commit data...
race.bat Loading commit data...
run.bash Loading commit data...
run.bat Loading commit data...
run.rc Loading commit data...