• Austin Clements's avatar
    runtime: increase precision of gctrace times · cc6a7fce
    Austin Clements authored
    Currently we truncate gctrace clock and CPU times to millisecond
    precision. As a result, many phases are typically printed as 0, which
    is fine for user consumption, but makes gathering statistics and
    reports over GC traces difficult.
    
    In 1.4, the gctrace line printed times in microseconds. This was
    better for statistics, but not as easy for users to read or interpret,
    and it generally made the trace lines longer.
    
    This change strikes a balance between these extremes by printing
    milliseconds, but including the decimal part to two significant
    figures down to microsecond precision. This remains easy to read and
    interpret, but includes more precision when it's useful.
    
    For example, where the code currently prints,
    
    gc #29 @1.629s 0%: 0+2+0+12+0 ms clock, 0+2+0+0/12/0+0 ms cpu, 4->4->2 MB, 4 MB goal, 1 P
    
    this prints,
    
    gc #29 @1.629s 0%: 0.005+2.1+0+12+0.29 ms clock, 0.005+2.1+0+0/12/0+0.29 ms cpu, 4->4->2 MB, 4 MB goal, 1 P
    
    Fixes #10970.
    
    Change-Id: I249624779433927cd8b0947b986df9060c289075
    Reviewed-on: https://go-review.googlesource.com/10554Reviewed-by: 's avatarRuss Cox <rsc@golang.org>
    cc6a7fce
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...