def test_timing(self): statsd.timing('timed', 250) self.assertEqual(statsd._statsd._socket.data, b'timed:250|ms') statsd.timing('timed', 250, 0.99) self.assertTrue(statsd._statsd._socket.data.startswith(b'timed:250|ms')) if statsd._statsd._socket.data != b'timed:250|ms': self.assertTrue(statsd._statsd._socket.data.endswith(b'|@0.99'))
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_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 proxy_func_with_timing(*args, **kwargs): start_time = time.time() ret = func(*args, **kwargs) duration = (time.time() - start_time) * 1000 statsd.timing(bucket, duration) return ret
def new_response(event): request = event.request if request.statsd: if request.exception is None: # Successful request statsd.increment('request.pubsuccess') statsd.timing('request.duration', time.time() * 1000 - request._pub_start) else: # Error response statsd.increment('request.pubfailure') statsd.timing('request.duration', time.time() * 1000 - request._pub_start)
def stop_timer(response): # convert this into milliseconds for statsd resp_time = (time.time() - request.start_time) * 1000 key = REQUEST_LATENCY_METRIC_KEY_PATTERN.format( request.endpoint, request.method, response.status_code, ) statsd.timing(key, resp_time) key = REQUEST_COUNT_METRIC_KEY_PATTERN.format( request.endpoint, request.method, response.status_code, ) statsd.incr(key) return response