mirror of
https://github.com/chrislusf/seaweedfs
synced 2024-08-31 14:10:37 +02:00
glide has its own requirements. My previous workaround caused me some code checkin errors. Need to fix this.
29 lines
471 B
Go
29 lines
471 B
Go
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
|
|
}
|