12345678910111213141516171819202122232425262728 |
- package stats
- import (
- "runtime"
- )
- type MemStatus struct {
- Goroutines int
- All uint64
- Used uint64
- Free uint64
- Self uint64
- Heap uint64
- Stack uint64
- }
- func MemStat() MemStatus {
- mem := MemStatus{}
- mem.Goroutines = runtime.NumGoroutine()
- memStat := new(runtime.MemStats)
- runtime.ReadMemStats(memStat)
- mem.Self = memStat.Alloc
- mem.Heap = memStat.HeapAlloc
- mem.Stack = memStat.StackInuse
- mem.fillInStatus()
- return mem
- }
|