org.altlinux.jabbix
Class JabbixActiveMetric

java.lang.Object
  extended by org.altlinux.jabbix.JabbixMetric
      extended by org.altlinux.jabbix.JabbixActiveMetric
All Implemented Interfaces:
Comparable, Delayed

public class JabbixActiveMetric
extends JabbixMetric
implements Delayed

Метрика, снабжённая дополнительной информацией, позволяющей использовать её для активных проверок.


Constructor Summary
JabbixActiveMetric(String key, Class type, Object value, long period, boolean active)
          Создаёт новый экземпляр активной метрики с указанными параметрами.
 
Method Summary
 int compareTo(Delayed o)
          Указывает, яляется ли данная метрика меньшей, равной или большей указанного объекта класса Delayed.
 int compareTo(JabbixActiveMetric m)
          Определяет, является ли данная метрика меньшей, равной или большей, по сравнению с указанной метрикой.
 long getDelay(TimeUnit unit)
          Возвращает оставшееся до ближайшего обновления метрики время.
 Date getNextCheck()
          Возвращает время и дату, когда значение данной метрики должно быть обновлено (на целевом сервере).
 long getPeriod()
          Возвращает значение периода обновления (в миллисекундах).
 Date getUpdated()
          Указывает когда была (и была ли) обновлена данная метрика.
 boolean isActive()
          Указывает, является ли данная метрика "активной".
 void setActive(boolean active)
          Устанавливает статус "активности" метрики.
 
Methods inherited from class org.altlinux.jabbix.JabbixMetric
equals, getKey, getValue, getValueType, toString, updateValue
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JabbixActiveMetric

public JabbixActiveMetric(String key,
                          Class type,
                          Object value,
                          long period,
                          boolean active)
Создаёт новый экземпляр активной метрики с указанными параметрами.

Parameters:
key - имя метрики
period - период обновления в миллисекундах
active - статус обратного отсчёта
Method Detail

isActive

public boolean isActive()
Указывает, является ли данная метрика "активной". Параметр JabbixActiveMetric.getNextCheck() активной метрики не равен null.

Returns:
статус активности метрики

setActive

public void setActive(boolean active)
Устанавливает статус "активности" метрики. Если статус изменяется с неактивного на активный, то в качестве значения параметра nextCheck устанавливается сумма текущего времени и указанного для данной метрики периода (JabbixActiveMetric.getPeriod()). Если статус меняется с активного на неактивный, то в качестве значения параметра nextCheck устанавливается null. Иначе значение параметра nextCheck не изменяется.

Parameters:
active - значение статуса, которое нужно установить

getNextCheck

public Date getNextCheck()
Возвращает время и дату, когда значение данной метрики должно быть обновлено (на целевом сервере).

Returns:
время следующего обновления

getPeriod

public long getPeriod()
Возвращает значение периода обновления (в миллисекундах).

Returns:
значение периода обновления

compareTo

public int compareTo(JabbixActiveMetric m)
Определяет, является ли данная метрика меньшей, равной или большей, по сравнению с указанной метрикой. Одна метрика считается меньше другой в том случае, если её обновление ожидается раньше. Если обе метрики являются активными, то для получения результата сравниваются их параметры nextCheck. Иначе активная метрика всегда считается меньшей не активной (поэтому не активные метрики всегда находятся в хвосте очереди).

Parameters:
m - активная метрика для сравнения
Returns:
число меньше нуля, если данная метрика оправляется раньше, чем указанная метрика, ноль, если обе метрики отправляются в одно и то же время, и число больше нуля, если данная метрика отправляется позже, чем указанная метрика
See Also:
ActiveMetricTable

getDelay

public long getDelay(TimeUnit unit)
Возвращает оставшееся до ближайшего обновления метрики время. Если метрика не активна (и её параметр nextCheck не установлен), тогда возвращается максимальное длинное целое число Long.MAX_VALUE. Иначе возвращается разница между текущим времением и nextCheck, выраженная в указанных единицах.

Specified by:
getDelay in interface Delayed
Returns:
оставшееся до следующего обновления метрики время, выраженная в указанных единицах

compareTo

public int compareTo(Delayed o)
Указывает, яляется ли данная метрика меньшей, равной или большей указанного объекта класса Delayed. Активные метрики сравниваются посредством функции JabbixActiveMetric.compareTo(JabbixActiveMetric). Если указанный объект не ясляется активной метрикой, то в этом случае данная метрика считается меньшей (более ранней) чем объект.

Specified by:
compareTo in interface Comparable
Parameters:
o - объект с которым нужно выполнить сравнение
Returns:
число меньше нуля, если данная метрика устаревает быстрее чем указаннй объект, ноль, если оба объекта устаревают в одно и то же время, и число больше нуля, если данная метрика устаревает позднее, чем указаннй объект

getUpdated

public Date getUpdated()
Указывает когда была (и была ли) обновлена данная метрика.

Returns:
время и дата, когда значение метрики было в последний раз обновлено или null, если значение метрики ещё не было обновлено
See Also:
JabbixMetric.updateValue(java.lang.Object)