mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
runtime/metrics: add tiny allocs metric
Currently tiny allocations are not represented in either MemStats or runtime/metrics, but they're represented in MemStats (indirectly) via Mallocs. Add them to runtime/metrics by first merging memstats.tinyallocs into consistentHeapStats (just for simplicity; it's monotonic so metrics would still be self-consistent if we just read it atomically) and then adding /gc/heap/tiny/allocs:objects to the list of supported metrics. Change-Id: Ie478006ab942a3e877b4a79065ffa43569722f3d Reviewed-on: https://go-review.googlesource.com/c/go/+/312909 Trust: Michael Knyszek <mknyszek@google.com> Run-TryBot: Michael Knyszek <mknyszek@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Michael Pratt <mpratt@google.com>
This commit is contained in:
parent
7d22c2181b
commit
0b9ca4d907
7 changed files with 64 additions and 13 deletions
|
|
@ -393,7 +393,7 @@ func ReadMemStatsSlow() (base, slow MemStats) {
|
|||
bySize[i].Mallocs += uint64(m.smallFreeCount[i])
|
||||
smallFree += uint64(m.smallFreeCount[i]) * uint64(class_to_size[i])
|
||||
}
|
||||
slow.Frees += memstats.tinyallocs + uint64(m.largeFreeCount)
|
||||
slow.Frees += uint64(m.tinyAllocCount) + uint64(m.largeFreeCount)
|
||||
slow.Mallocs += slow.Frees
|
||||
|
||||
slow.TotalAlloc = slow.Alloc + uint64(m.largeFree) + smallFree
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue