Beispiel #1
0
def percentileOfSeries(requestContext, *args):
    levels = []
    seriesList = []
    for arg in args:
        logging.info("Arg: %s", arg)
        if isinstance(arg, (int, long, float)):
            levels.append(arg)
        elif isinstance(arg, basestring):
            levels += [float(x) for x in arg.split(";")]
        else:
            seriesList += arg

    logging.info("Levels: %s", levels)
    logging.info("Series: %s", seriesList)

    result = []
    for level in levels:
        if levels <= 0:
            raise ValueError('The requested percent is required to be greater than 0')

        name = 'percentilesOfSeries(%s,%g)' % (seriesList[0].pathExpression, level)
        (start, end, step) = functions.normalize([seriesList])[1:]
        values = [functions._getPercentile(row, level, False) for row in functions.izip(*seriesList)]
        resultSeries = TimeSeries(name, start, end, step, values)
        resultSeries.pathExpression = name
        result.append(resultSeries)

    return result
 def test_normalize_generate_series_list_input(self):
     seriesList = self._generate_series_list()
     self.assertEqual(functions.normalize([seriesList]), (seriesList, 0, 101, 1))
 def test_normalize_None_values(self):
     seriesList = []
     seriesList.append(TimeSeries("collectd.test-db{0}.load.value", 0, 5, 1, [None, None, None, None, None]))
     self.assertEqual(functions.normalize([seriesList]), (seriesList, 0, 5, 1))
 def test_normalize_empty(self):
     with self.assertRaises(NormalizeEmptyResultError):
         functions.normalize([])
 def test_normalize_empty(self):
   try:
     functions.normalize([])
   except NormalizeEmptyResultError:
     pass
Beispiel #6
0
 def test_normalize_empty(self):
   try:
     functions.normalize([])
   except NormalizeEmptyResultError:
     pass