def test_sending_metrics(self): start = datetime.now() start_timestamp = time() client = Client("localhost", self.__class__.port) client.increment("1.test", 5) client.increment("2.login") client.timing("3.query", 3600) client.gauge("4.memory", 102400) client.gauge_delta("5.memory", 256) client.gauge_delta("6.memory", -128) client.set("7.ip", "127.0.0.1") expected = [ "1.test:5|c", "2.login:1|c", "3.query:3600|ms", "4.memory:102400|g", "5.memory:+256|g", "6.memory:-128|g", "7.ip:127.0.0.1|s", ] self.assert_server_received_expected_requests(expected) self.__class__.server.requests.clear() client.timing_since("1.query", start_timestamp) client.timing_since("2.other_query", start) chronometer = client.chronometer() chronometer.time_callable("3.sleepy", sleep, 1, (0.02, )) @chronometer.wrap("4.wait_a_sec") def wait_a_sec(): sleep(0.01) wait_a_sec() with client.stopwatch("5.my_with_block"): sleep(0.02) expected_patterns = [ "1.query:[1-9]\d{0,4}\|ms", "2.other_query:[1-9]\d{0,4}\|ms", "3.sleepy:[1-9]\d{0,4}\|ms", "4.wait_a_sec:[1-9]\d{0,4}\|ms", "5.my_with_block:[1-9]\d{0,4}\|ms", ] self.assert_server_received_expected_request_regex(expected_patterns)
def test_sending_metrics(self): start = datetime.now() start_timestamp = time() client = Client("localhost", self.__class__.port) client.increment("1.test", 5) client.increment("2.login") client.timing("3.query", 3600) client.gauge("4.memory", 102400) client.gauge_delta("5.memory", 256) client.gauge_delta("6.memory", -128) client.set("7.ip", "127.0.0.1") expected = [ "1.test:5|c", "2.login:1|c", "3.query:3600|ms", "4.memory:102400|g", "5.memory:+256|g", "6.memory:-128|g", "7.ip:127.0.0.1|s", ] self.assert_server_received_expected_requests(expected) self.__class__.server.requests.clear() client.timing_since("1.query", start_timestamp) client.timing_since("2.other_query", start) chronometer = client.chronometer() chronometer.time_callable("3.sleepy", sleep, 1, (0.02,)) @chronometer.wrap("4.wait_a_sec") def wait_a_sec(): sleep(0.01) wait_a_sec() with client.stopwatch("5.my_with_block"): sleep(0.02) expected_patterns = [ "1.query:[1-9]\d{0,4}\|ms", "2.other_query:[1-9]\d{0,4}\|ms", "3.sleepy:[1-9]\d{0,4}\|ms", "4.wait_a_sec:[1-9]\d{0,4}\|ms", "5.my_with_block:[1-9]\d{0,4}\|ms", ] self.assert_server_received_expected_request_regex(expected_patterns)
def test_timing_since_with_datetime_timestamp(self): start_time = datetime.now() client = Client("localhost") client._socket = self.mock_socket sleep(0.01) client.timing_since("event", start_time) self.assertEqual(self.mock_sendto.call_count, 1) socket_sendto_args = self.mock_sendto.call_args self.assertEqual(len(socket_sendto_args), 2) request, remote_address = socket_sendto_args[0] self.assertRegex(request.decode(), "event:[1-9]\d{0,3}\|ms") self.assertEqual(remote_address, ("127.0.0.2", 8125)) self.mock_sendto.reset_mock() client.timing_since("low.rate", start_time, rate=0.1) self.assertEqual(self.mock_sendto.call_count, 0)
def test_timing_since_with_timestamp_as_number(self): start_time = time() client = Client("localhost") client._socket = self.mock_socket self.assertRaises(AssertionError, client.timing_since, "negative", -1) sleep(0.01) client.timing_since("event", start_time) self.assertEqual(self.mock_sendto.call_count, 1) socket_sendto_args = self.mock_sendto.call_args self.assertEqual(len(socket_sendto_args), 2) request, remote_address = socket_sendto_args[0] self.assertRegex(request.decode(), "event:[1-9]+\d{0,3}\|ms") self.assertEqual(remote_address, ("127.0.0.2", 8125)) self.mock_sendto.reset_mock() client.timing_since("low.rate", start_time, rate=0.1) self.assertEqual(self.mock_sendto.call_count, 0)