как сделать сумму в графите, но исключить случаи, когда присутствуют не все данные

У нас есть 4 ряда данных, и время от времени один из 4 имеет нулевое значение, поскольку мы пропустили чтение точки данных. Из-за этого график выглядит так, как будто у нас есть ужасные всплески потери объема, что не соответствует действительности, поскольку мы просто пропустили точку данных.

Я делаю базовый sumSeries(server*.InboundCount) прямо сейчас для серверов 1, 2, 3, 4, где *.

Есть ли способ, при котором графит НЕ может суммировать местоположения на линии, а просто иметь сумму для этих моментов времени также равной нулю, поэтому он соединяет линию от точки, где есть данные, до следующей точки, где есть данные.

ПРИМЕЧАНИЕ. Мы также отображаем графы server*.InboundCount по отдельности, чтобы отслеживать всплески на отдельных серверах.

или, возможно, есть функция, которая просматривает все ряды, и если какое-либо из значений равно нулю, она возвращает нуль для каждой серии, в которой она принимает серию X, и возвращает точки серии X в функцию суммы как null+null+null+null надеюсь, это не приведет к всплеску и покажет ноль.

спасибо, Дин


person Dean Hiller    schedule 12.06.2014    source источник


Ответы (1)


Это старый вопрос, но он все еще заслуживает ответа в качестве ориентира. Я считаю, что вам нужна функция KeepLastValue

Принимает одну метрику или список серий с подстановочными знаками и, при необходимости, ограничение на количество пропускаемых значений «Нет». Продолжает строку с последним полученным значением, когда в ваших данных появляются пробелы (значения «Нет»), а не разрывает вашу строку.

Это сделает вашу функцию

 sumSeries(keepLastValue(server*.InboundCount)) 

Это будет работать нормально, если у вас есть одна нулевая точка данных здесь и там. Если у вас есть несколько последовательных нулевых точек данных, вы можете указать, как далеко назад, прежде чем нуль сломает ваши данные. Например, следующее будет просматривать до 10 значений до того, как sumSeries прервется:

 sumSeries(keepLastValue(server*.InboundCount, 10)) 

Я уверен, что с тех пор вы решили свои проблемы, но я надеюсь, что это кому-то поможет.

person Anastasiosyal    schedule 14.09.2016