def test_counter(self): # Create some fake metrics. dog = ThreadStats() dog.start(roll_up_interval=10, flush_in_thread=False) reporter = dog.reporter = MemoryReporter() dog.increment('test.counter.1', timestamp=1000.0) dog.increment('test.counter.1', value=2, timestamp=1005.0) dog.increment('test.counter.2', timestamp=1015.0) dog.increment('test.counter.3', timestamp=1025.0) dog.flush(1021.0) # Assert they've been properly flushed. metrics = self.sort_metrics(reporter.metrics) nt.assert_equal(len(metrics), 2) (first, second) = metrics nt.assert_equal(first['metric'], 'test.counter.1') nt.assert_equal(first['points'][0][0], 1000.0) nt.assert_equal(first['points'][0][1], 0.3) nt.assert_equal(second['metric'], 'test.counter.2') # Test decrement dog.increment('test.counter.1', value=10, timestamp=1000.0) dog.decrement('test.counter.1', value=2, timestamp=1005.0) reporter.metrics = [] dog.flush(1021.0) metrics = self.sort_metrics(reporter.metrics) nt.assert_equal(len(metrics), 1) first, = metrics nt.assert_equal(first['metric'], 'test.counter.1') nt.assert_equal(first['points'][0][0], 1000.0) nt.assert_equal(first['points'][0][1], 0.8) nt.assert_equal(second['metric'], 'test.counter.2') # Flush again and make sure we're progressing. reporter.metrics = [] dog.flush(1030.0) nt.assert_equal(len(reporter.metrics), 1) # Finally, make sure we've flushed all metrics. reporter.metrics = [] dog.flush(1050.0) nt.assert_equal(len(reporter.metrics), 0)
def test_counter(self): # Create some fake metrics. dog = ThreadStats() dog.start(roll_up_interval=10, flush_in_thread=False) reporter = dog.reporter = MemoryReporter() dog.increment("test.counter.1", timestamp=1000.0) dog.increment("test.counter.1", value=2, timestamp=1005.0) dog.increment("test.counter.2", timestamp=1015.0) dog.increment("test.counter.3", timestamp=1025.0) dog.flush(1021.0) # Assert they've been properly flushed. metrics = self.sort_metrics(reporter.metrics) nt.assert_equal(len(metrics), 2) (first, second) = metrics nt.assert_equal(first["metric"], "test.counter.1") nt.assert_equal(first["points"][0][0], 1000.0) nt.assert_equal(first["points"][0][1], 3) nt.assert_equal(second["metric"], "test.counter.2") # Test decrement dog.increment("test.counter.1", value=10, timestamp=1000.0) dog.decrement("test.counter.1", value=2, timestamp=1005.0) reporter.metrics = [] dog.flush(1021.0) metrics = self.sort_metrics(reporter.metrics) nt.assert_equal(len(metrics), 1) first, = metrics nt.assert_equal(first["metric"], "test.counter.1") nt.assert_equal(first["points"][0][0], 1000.0) nt.assert_equal(first["points"][0][1], 8) nt.assert_equal(second["metric"], "test.counter.2") # Flush again and make sure we're progressing. reporter.metrics = [] dog.flush(1030.0) nt.assert_equal(len(reporter.metrics), 1) # Finally, make sure we've flushed all metrics. reporter.metrics = [] dog.flush(1050.0) nt.assert_equal(len(reporter.metrics), 0)