runtime/metrics: add /gc/scan/total:bytes

For #56857

Change-Id: I10dbc5db506c95b7578c2b6baf051a351f68bb2a
Reviewed-on: https://go-review.googlesource.com/c/go/+/497576
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Run-TryBot: Felix Geisendörfer <felix.geisendoerfer@datadoghq.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
This commit is contained in:
Felix Geisendörfer 2023-05-23 12:35:48 +02:00 committed by Gopher Robot
parent 131267f147
commit 5124371c1c
3 changed files with 15 additions and 0 deletions

View file

@ -201,6 +201,12 @@ func initMetrics() {
out.scalar = gcController.heapScan.Load() out.scalar = gcController.heapScan.Load()
}, },
}, },
"/gc/scan/total:bytes": {
compute: func(in *statAggregate, out *metricValue) {
out.kind = metricKindUint64
out.scalar = gcController.globalsScan.Load() + gcController.heapScan.Load() + gcController.lastStackScan.Load()
},
},
"/gc/heap/allocs-by-size:bytes": { "/gc/heap/allocs-by-size:bytes": {
deps: makeStatDepSet(heapStatsDep), deps: makeStatDepSet(heapStatsDep),
compute: func(in *statAggregate, out *metricValue) { compute: func(in *statAggregate, out *metricValue) {

View file

@ -309,6 +309,11 @@ var allDesc = []Description{
Description: "The number of bytes of stack that were scanned last GC cycle.", Description: "The number of bytes of stack that were scanned last GC cycle.",
Kind: KindUint64, Kind: KindUint64,
}, },
{
Name: "/gc/scan/total:bytes",
Description: "The total amount space that is scannable. Sum of all metrics in /gc/scan.",
Kind: KindUint64,
},
{ {
Name: "/gc/stack/starting-size:bytes", Name: "/gc/stack/starting-size:bytes",
Description: "The stack size of new goroutines.", Description: "The stack size of new goroutines.",

View file

@ -225,6 +225,10 @@ Below is the full list of supported metrics, ordered lexicographically.
/gc/scan/stack:bytes /gc/scan/stack:bytes
The number of bytes of stack that were scanned last GC cycle. The number of bytes of stack that were scanned last GC cycle.
/gc/scan/total:bytes
The total amount space that is scannable. Sum of all metrics in
/gc/scan.
/gc/stack/starting-size:bytes /gc/stack/starting-size:bytes
The stack size of new goroutines. The stack size of new goroutines.