GitRoot

craft your forge, build your project, grow your community freely
 1// SPDX-FileCopyrightText: 2025 Romain Maneschi <romain@gitroot.dev>
 2//
 3// SPDX-License-Identifier: EUPL-1.2
 4
 5package logger
 6
 7import (
 8	"runtime"
 9)
10
11func (l *Logger) PrintMemUsage() {
12	var m runtime.MemStats
13	runtime.ReadMemStats(&m)
14	// For info on each, see: https://golang.org/pkg/runtime/#MemStats
15	l.Info("Memory snapshot",
16		NewLoggerPair("Alloc (MiB)", bToMb(m.Alloc)),
17		NewLoggerPair("TotalAlloc (MiB)", bToMb(m.TotalAlloc)),
18		NewLoggerPair("Sys (MiB)", bToMb(m.Sys)),
19		NewLoggerPair("NumGC", m.NumGC),
20	)
21}
22
23func bToMb(b uint64) uint64 {
24	return b / 1024 / 1024
25}