Example #1
0
 def test_gauge_update(self):
     potatoes = [100.0]
     @stats.gauge("stew")
     def _stew():
         potatoes[0] += 1.0
         return potatoes[0]
     self.assertEquals({"stew": 101.0}, stats.get_gauge_stats())
     self.assertEquals({"stew": 102.0}, stats.get_gauge_stats())
     self.assertEquals({"stew": 103.0}, stats.get_gauge_stats())
Example #2
0
    def test_gauge_report(self):
        @stats.gauge("pi")
        def _pi():
            return math.pi

        stats.make_gauge("e", lambda: math.e)
        self.assertEquals({"e": math.e, "pi": math.pi}, stats.get_gauge_stats())
 def collect(self):
     def get_or_add(key, new=0, d=self.hourly):
         value = d.get(key)
         if value is None:
             value = TimeSeries(60, new)
             d[key] = value
         return value
     
     for k, v in stats.get_gauge_stats().items():
         get_or_add("gauge:%s" % k).add(v)
     
     for k, v in self.stats.get_counter_stats(reset=True).items():
         get_or_add("counter:%s" % k).add(v)
     
     for k, v in self.stats.get_timing_stats(reset=True).items():
         get_or_add("timing:%s" % k, None, d=self.hourly_timings).add(v)
     
     self.last_collection = time.time()