1// Copyright 2024 The Go Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style 3// license that can be found in the LICENSE file. 4 5// Package profilerecord holds internal types used to represent profiling 6// records with deep stack traces. 7// 8// TODO: Consider moving this to internal/runtime, see golang.org/issue/65355. 9package profilerecord 10 11type StackRecord struct { 12 Stack []uintptr 13} 14 15type MemProfileRecord struct { 16 AllocBytes, FreeBytes int64 17 AllocObjects, FreeObjects int64 18 Stack []uintptr 19} 20 21func (r *MemProfileRecord) InUseBytes() int64 { return r.AllocBytes - r.FreeBytes } 22func (r *MemProfileRecord) InUseObjects() int64 { return r.AllocObjects - r.FreeObjects } 23 24type BlockProfileRecord struct { 25 Count int64 26 Cycles int64 27 Stack []uintptr 28} 29