github.com/elastic/gosigar@v0.14.3/sigar_darwin.go (about) 1 // +build !386 2 3 package gosigar 4 5 import ( 6 "syscall" 7 "time" 8 ) 9 10 func (self *Uptime) Get() error { 11 tv := syscall.Timeval32{} 12 13 if err := sysctlbyname("kern.boottime", &tv); err != nil { 14 return err 15 } 16 17 self.Length = time.Since(time.Unix(int64(tv.Sec), int64(tv.Usec)*1000)).Seconds() 18 19 return nil 20 }