def test_register_mock_metrics(self): """Test that we can register a mock for testing.""" mocker = Mocker() mock_metrics = mocker.mock(ExtendedMetrics) mock_metrics.meter("abc", 123) MetricsConnector.register_metrics("x", instance=mock_metrics) with mocker: MetricsConnector.get_metrics("x").meter("abc", 123)
def startFactory(self): """Start any other stuff we need.""" logger.info("listening on %d -> %s:%d", self.listen_port, self.host, self.port) try: self.metrics = MetricsConnector.get_metrics("ssl-proxy") except ComponentLookupError: namespace = config.ssl_proxy.metrics_namespace MetricsConnector.register_metrics("ssl-proxy", namespace) self.metrics = MetricsConnector.get_metrics("ssl-proxy") self.metrics.meter("server_start", 1)
def test_register_and_lookup(self): """Test that we can look up different instances and record metrics.""" MetricsConnector.register_metrics("one") MetricsConnector.register_metrics("two") self.assertEqual("fake_one", MetricsConnector.get_metrics("one")) self.assertEqual("fake_two", MetricsConnector.get_metrics("two")) self.assertIdentical(MetricsConnector.get_metrics("one"), MetricsConnector.get_metrics("one")) self.assertRaises(ComponentLookupError, MetricsConnector.get_metrics, "three") MetricsConnector.unregister_metrics() self.assertRaises(ComponentLookupError, MetricsConnector.get_metrics, "one") self.assertRaises(ComponentLookupError, MetricsConnector.get_metrics, "two")
def __init__(self, logger, reactor_call, loop_time=3): from metrics.metricsconnector import MetricsConnector self.logger = logger self.running = False self.stopped = False self.queue = Queue.Queue() self.reactor_call = reactor_call self.loop_time = loop_time self.metrics = MetricsConnector.get_metrics("reactor_inspector") self.last_responsive_ts = 0 self.reactor_thread = None super(ReactorInspector, self).__init__() self.daemon = True
def metrics(self): """Return the metrics instance for self.service.""" return MetricsConnector.get_metrics("root")
def test_register_fake_metrics(self): """Test that we can switch out a different metrics instance.""" MetricsConnector.register_metrics("abc", instance="totally_fake") self.assertEqual("totally_fake", MetricsConnector.get_metrics("abc"))
def test_register_with_different_namespace(self): """Register an instance with an aribrary lookup key.""" MetricsConnector.register_metrics("abc", "root.a.b.c") self.assertEqual("fake_root.a.b.c", MetricsConnector.get_metrics("abc"))