NetXMS Support Forum

Russian Support => Общие вопросы => Topic started by: lexab on November 11, 2011, 08:57:37 PM

Title: Average Delta per Second Calculation
Post by: lexab on November 11, 2011, 08:57:37 PM
Доброго времени суток.

Давно сталкиваюсь с небольшой проблемой, но только собрался написать.
Есть несколько счетчиков трафика, для которых считается среднее значение, и отображается на графиках.
Если поток данных непрерывный, то все хорошо, если интрефейс падает, или DCI очищается,
то на графике рисуется пик с нереальным значением (в моем случае сотни гигабит) .
Если я правильно понял, то базе, в таблице idata_xxx для DCI храниться  уже вычисленное среднее значение.
Поэтому когда возникает стартовая ситуация и предыдущее (начальное) значение равно 0, то в  таблицу попадает оригинальное значение счетчика, которое в случае с  64 разрядным счетчиков весьма не маленькое.
(http://i27.fastpic.ru/big/2011/1111/5d/48c2ecd5be24094a44d6c92cc59b005d.png)

Сейчас проблема решается удалением такого значения из базы. но это наверное не правильно :-)



Title: Re: Average Delta per Second Calculation
Post by: Victor Kirhenshtein on November 12, 2011, 09:54:07 AM
Zdes' glavnaja problema v tom, chto ne suschestvuet universal'nogo algoritma, po kotoromu mozno opredelit', proizoshel li sbros schetchika, ili eto normal'noe izmenenie znachenija. Edinstvennij poka variant, kotorij ja vizu - eto dat' vozmoznost' dlja kazdogo DCI zadavat' maksimal'noe teoreticheski vozmoznoe znachenie del'ti - togda server budet ignorirovat' takie piki.
Title: Re: Average Delta per Second Calculation
Post by: lexab on November 15, 2011, 06:43:37 PM
Да  вы правы.
Единственное что можно предложить еще,  если 2+ (я не знаю как реализован у вас алгоритм расчета среднего) значения счетчика подряд равны 0, то результат тоже равен 0
. это будет сглаживать, такие пики. А вероятность того что в два раза подряд был пойман переход счетчика через 0 весьма мала.
т.е Если An-1 =0 AND An-2 =0 AND An>0 Тогда As =0