def test_context_manager(self): fake_socket = FakeSocket() with DogStatsd() as statsd: statsd.socket = fake_socket statsd.gauge('page.views', 123) statsd.timing('timer', 123) t.assert_equal('page.views:123|g\ntimer:123|ms', fake_socket.recv())
def test_batched_buffer_autoflush(self): fake_socket = FakeSocket() with DogStatsd() as statsd: statsd.socket = fake_socket for i in range(51): statsd.increment('mycounter') t.assert_equal('\n'.join(['mycounter:1|c' for i in range(50)]), fake_socket.recv()) t.assert_equal('mycounter:1|c', fake_socket.recv())
def setUp(self): self.statsd = DogStatsd() self.statsd.socket = FakeSocket()
#!/usr/bin/python from statsd import statsd, DogStatsd from random import random import time statsd.connect('localhost', 8125) def getRandTag(number): tags = [] for i in range(0, number): tags += ['tag%s' % (int(random() * 100))] return tags while True: print('Sending metric') statsd.increment('page.views', tags=getRandTag(5), sample_rate=0.5) print('Sending gauge') with DogStatsd() as batch: batch.gauge('users.online', 123) batch.gauge('active.connections', 101) time.sleep(0.01)