示例#1
0
    def test_carbon_protocol_read(self):
        metric_name = 'fake.name'
        metric = bg_test_utils.make_metric(_METRIC_NAME)
        # Custom aggregator to make sure all goes right.
        metric.metadata.aggregator = bg_accessor.Aggregator.minimum
        self.accessor.create_metric(metric)
        self.accessor.flush()
        self.reader = bg_graphite.Reader(
            self.accessor, self.metadata_cache, self.carbonlink, metric_name
        )

        with mock.patch('graphite.carbonlink.CarbonLinkPool.query') as carbonlink_query_mock:
            carbonlink_query_mock.return_value = [
                (864005.0, 100.0), (864065.0, 101.0), (864125.0, 102.0)
            ]

            (start, end, step), points = self.fetch(
                start_time=self._POINTS_START + 3,
                end_time=self._POINTS_END - 3,
                now=self._POINTS_END + 10,
            )

            # Check that we really have a 1sec resolution
            self.assertEqual(start, self._POINTS_START + 3)
            self.assertEqual(end, self._POINTS_END - 3)
            self.assertEqual(step, 1)
            # Check that this returns at least one value different from None.
            self.assertEqual(len(points), end - start)
            # Check that at least one point is at the correct place.
            self.assertEqual(points[864005 - start], 100.0)
示例#2
0
 def setUp(self):
     super(TestReader, self).setUp()
     self.accessor.connect()
     self.accessor.create_metric(self._METRIC)
     self.accessor.insert_points(self._METRIC, self._POINTS)
     self.accessor.flush()
     self.finder = bg_graphite.Finder(
         accessor=self.accessor,
         metadata_cache=self.metadata_cache,
     )
     self.carbonlink = self.finder.carbonlink()
     self.reader = bg_graphite.Reader(self.accessor, self.metadata_cache,
                                      self.carbonlink, _METRIC_NAME)
示例#3
0
    def setUp(self):
        super(TestReader, self).setUp()
        self.accessor.connect()
        self.accessor.create_metric(self._METRIC)
        self.accessor.insert_points(self._METRIC, self._POINTS)
        self.accessor.flush()
        self.finder = bg_graphite.Finder(accessor=self.accessor,
                                         metadata_cache=self.metadata_cache)

        # Make sure that carbonlink is enabled.
        from django.conf import settings as django_settings

        django_settings.CARBONLINK_HOSTS = ["localhost:12345"]

        self.carbonlink = self.finder.carbonlink()
        self.reader = bg_graphite.Reader(self.accessor, self.metadata_cache,
                                         self.carbonlink, _METRIC_NAME)