diff options
| author | Tobias Klauser <tklauser@distanz.ch> | 2022-08-18 19:15:20 +0200 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2022-08-19 20:04:21 +0000 |
| commit | 2cc6983a2103d64cd33a0fb67dc7ea2adcac3ba8 (patch) | |
| tree | 13eb00bae41ce483886d3348d80d4e6caf835d13 /src/runtime/pprof | |
| parent | dbc3b44f85e638c2247af02548d8b386996f4d37 (diff) | |
| download | go-2cc6983a2103d64cd33a0fb67dc7ea2adcac3ba8.tar.xz | |
runtime/pprof: report MaxRSS on windows
Use GetProcessMemoryInfo to report MaxRSS in memory profiles on windows.
Change-Id: I4ac5fe58961b1d5da8a5c1caa8a6e3d0a3281837
Reviewed-on: https://go-review.googlesource.com/c/go/+/424414
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Joedian Reid <joedian@golang.org>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Diffstat (limited to 'src/runtime/pprof')
| -rw-r--r-- | src/runtime/pprof/pprof_norusage.go | 2 | ||||
| -rw-r--r-- | src/runtime/pprof/pprof_windows.go | 22 |
2 files changed, 23 insertions, 1 deletions
diff --git a/src/runtime/pprof/pprof_norusage.go b/src/runtime/pprof/pprof_norusage.go index 3d6052519c..8de38086c7 100644 --- a/src/runtime/pprof/pprof_norusage.go +++ b/src/runtime/pprof/pprof_norusage.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris +//go:build !aix && !darwin && !dragonfly && !freebsd && !linux && !netbsd && !openbsd && !solaris && !windows package pprof diff --git a/src/runtime/pprof/pprof_windows.go b/src/runtime/pprof/pprof_windows.go new file mode 100644 index 0000000000..23ef2f80fe --- /dev/null +++ b/src/runtime/pprof/pprof_windows.go @@ -0,0 +1,22 @@ +// Copyright 2022 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package pprof + +import ( + "fmt" + "internal/syscall/windows" + "io" + "syscall" + "unsafe" +) + +func addMaxRSS(w io.Writer) { + var m windows.PROCESS_MEMORY_COUNTERS + p, _ := syscall.GetCurrentProcess() + err := windows.GetProcessMemoryInfo(p, &m, uint32(unsafe.Sizeof(m))) + if err == nil { + fmt.Fprintf(w, "# MaxRSS = %d\n", m.PeakWorkingSetSize) + } +} |
