I noticed GC stats seemed inflated in some cases, the logic for stripping out outdated GC stats seemed hard to debug and error prone, so I replaced it to use the values in the runtime.MemStats structure.
This also makes the GC stats collection more efficient as it doesn't require calling debug.ReadGCStats anymore.
I based most of this work on the runtime.MemStatsdocumentation.
Here's a trace of the test showing GC stats computation:
I noticed GC stats seemed inflated in some cases, the logic for stripping out outdated GC stats seemed hard to debug and error prone, so I replaced it to use the values in the
runtime.MemStats
structure.This also makes the GC stats collection more efficient as it doesn't require calling
debug.ReadGCStats
anymore.I based most of this work on the
runtime.MemStats
documentation.Here's a trace of the test showing GC stats computation:
Please take a look and let me know if something should be changed.