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  }