2 from twisted.trial import unittest
3 from twisted.application import service
4 from allmydata.stats import CPUUsageMonitor
5 from allmydata.util import pollmixin
6 import allmydata.test.common_util as testutil
8 class FasterMonitor(CPUUsageMonitor):
12 class CPUUsage(unittest.TestCase, pollmixin.PollMixin, testutil.StallMixin):
14 self.s = service.MultiService()
18 return self.s.stopService()
20 def test_monitor(self):
22 s = m.get_stats() # before it has been started
23 self.failIf("cpu_monitor.1min_avg" in s)
24 m.setServiceParent(self.s)
26 return bool(len(m.samples) == m.HISTORY_LENGTH+1)
27 d = self.poll(_poller)
28 # pause one more second, to make sure that the history-trimming code
30 d.addCallback(self.stall, 1.0)
33 self.failUnless("cpu_monitor.1min_avg" in s)
34 self.failUnless("cpu_monitor.5min_avg" in s)
35 self.failUnless("cpu_monitor.15min_avg" in s)
36 self.failUnless("cpu_monitor.total" in s)