Example #1
0
 def test_add_point_and_get_zipped_graph(self,
                                         data_stream=None,
                                         zipped_size=None,
                                         expected=None):
     merger = utils.GraphZipper(len(data_stream), zipped_size)
     [merger.add_point(value) for value in data_stream]
     self.assertEqual(expected, merger.get_zipped_graph())
Example #2
0
    def __init__(self, percent, length):
        """Init streaming computation.

        :param percent: numeric percent (from 0.00..1 to 0.999..)
        :param length: count of the measurements
        """
        if not 0 < percent < 1:
            raise ValueError("Unexpected percent: %s" % percent)
        self._percent = percent

        self._graph_zipper = utils.GraphZipper(length, 10000)
Example #3
0
    def add_iteration(self, iteration):
        """Add iteration data.

        This method must be called for each iteration.
        If overridden, this method must use streaming data processing,
        so chart instance could process unlimited number of iterations,
        with low memory usage.
        """
        for name, value in self._map_iteration_values(iteration):
            if name not in self._data:
                self._data[name] = utils.GraphZipper(self.base_size,
                                                     self.zipped_size)
            self._data[name].add_point(value)
Example #4
0
 def test_add_point_raises(self):
     merger = utils.GraphZipper(10, 8)
     self.assertRaises(TypeError, merger.add_point)
     [merger.add_point(1) for value in range(10)]
     self.assertRaises(RuntimeError, merger.add_point, 1)