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}