]> Cypherpunks repositories - gostls13.git/commit
runtime: sample large heap allocations correctly
authorRaul Silvera <rauls5382@gmail.com>
Fri, 18 Jan 2019 00:14:29 +0000 (00:14 +0000)
committerHyang-Ah Hana Kim <hyangah@gmail.com>
Fri, 18 Jan 2019 15:29:32 +0000 (15:29 +0000)
commitdc889025c714313fbe912ad1253f0ec748a6e58c
treef9c60583fdd1ca01510721cb08a7e26e2906f193
parentc077c74312563aad8117fe9f40fa85e1b5c87ac2
runtime: sample large heap allocations correctly

Remove an unnecessary check on the heap sampling code that forced sampling
of all heap allocations larger than the sampling rate. This need to follow
a poisson process so that they can be correctly unsampled. Maintain a check
for MemProfileRate==1 to provide a mechanism for full sampling, as
documented in https://golang.org/pkg/runtime/#pkg-variables.

Additional testing for this change is on cl/129117.

Fixes #26618

Change-Id: I7802bde2afc655cf42cffac34af9bafeb3361957
GitHub-Last-Rev: 471f747af845395d458096bea26daa93b91120be
GitHub-Pull-Request: golang/go#29791
Reviewed-on: https://go-review.googlesource.com/c/158337
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
src/runtime/malloc.go
src/runtime/testdata/testprog/memprof.go