github.com/elastic/gosigar@v0.14.3/sigar_darwin_386.go (about)

     1  package gosigar
     2  
     3  import (
     4  	"syscall"
     5  	"time"
     6  )
     7  
     8  func (self *Uptime) Get() error {
     9  	tv := syscall.Timeval{}
    10  
    11  	if err := sysctlbyname("kern.boottime", &tv); err != nil {
    12  		return err
    13  	}
    14  
    15  	self.Length = time.Since(time.Unix(int64(tv.Sec), int64(tv.Usec)*1000)).Seconds()
    16  
    17  	return nil
    18  }