func GetCpuTimes() (*CpuTimes, error) { cpu := sigar.Cpu{} err := cpu.Get() if err != nil { return nil, err } return &CpuTimes{Cpu: cpu}, nil }
func (p ubuntu) GetCpuStats() (stats CpuStats, err error) { cpu := sigar.Cpu{} err = cpu.Get() if err != nil { return } stats.User = cpu.User stats.Sys = cpu.Sys stats.Wait = cpu.Wait stats.Total = cpu.Total() return }
func (s sigarStatsCollector) GetCpuStats() (stats CpuStats, err error) { cpu := sigar.Cpu{} err = cpu.Get() if err != nil { err = bosherr.WrapError(err, "Getting Sigar Cpu") return } stats.User = cpu.User stats.Sys = cpu.Sys stats.Wait = cpu.Wait stats.Total = cpu.Total() return }
statFile = procd + "/stat" cpu = sigar.Cpu{} statContents := []byte("cpu 25 1 2 3 4 5 6 7") err = ioutil.WriteFile(statFile, statContents, 0644) Expect(err).ToNot(HaveOccurred()) }) AfterEach(func() { sigar.Procd = "/proc" }) Describe("Get", func() { It("gets CPU usage", func() { err := cpu.Get() Expect(err).ToNot(HaveOccurred()) Expect(cpu.User).To(Equal(uint64(25))) }) }) Describe("CollectCpuStats", func() { It("collects CPU usage over time", func() { concreteSigar := &sigar.ConcreteSigar{} cpuUsages, stop := concreteSigar.CollectCpuStats(500 * time.Millisecond) Expect(<-cpuUsages).To(Equal(sigar.Cpu{ User: uint64(25), Nice: uint64(1), Sys: uint64(2), Idle: uint64(3),
statFile string cpu sigar.Cpu ) BeforeEach(func() { statFile = procd + "/stat" cpu = sigar.Cpu{} }) Describe("Get", func() { It("gets CPU usage", func() { statContents := []byte("cpu 25 1 2 3 4 5 6 7") err := ioutil.WriteFile(statFile, statContents, 0644) Expect(err).ToNot(HaveOccurred()) err = cpu.Get() Expect(err).ToNot(HaveOccurred()) Expect(cpu.User).To(Equal(uint64(25))) }) It("ignores empty lines", func() { statContents := []byte("cpu ") err := ioutil.WriteFile(statFile, statContents, 0644) Expect(err).ToNot(HaveOccurred()) err = cpu.Get() Expect(err).ToNot(HaveOccurred()) Expect(cpu.User).To(Equal(uint64(0))) }) })