org.altlinux.jabbix
Class ActiveMetricTable

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

public class ActiveMetricTable
extends Object
implements MetricTable, Delayed

Обновляемая таблица, содержащая записи об активных метриках (JabbixActiveMetric) и снабжённая периодом устаревания для всего содержимого таблицы в целом. Период обновления и функция ActiveMetricTable.getDelay(TimeUnit) интерйейса Delayed могут быть использованы для установки времени устаревания таблицы и контроля за ним. Поскольку информация об активных проверках поставляется сервером, имеет смысл переодически обновлять её для того, чтобы набор активных метрик не устарел.


Constructor Summary
ActiveMetricTable(long refreshPeriod)
          Создаёт таблицу с указанным периодом устаревания.
 
Method Summary
 int compareTo(ActiveMetricTable a)
          Показывает, является ли данная таблица меньшей, равной или большей, чем указанная таблица.
 int compareTo(Delayed o)
          Показывает, является ли данная таблица меньшей, равной или большей, чем указанный объект класса Delayed.
 long getDelay(TimeUnit unit)
          Возвращает оставшееся время, в течение которого содержимое данной очереди считается свежим.
 Date getNextRefresh()
          Возвращает врямя и дату, когда истекает время действия данной очереди.
 DelayQueue getQueue()
          Возвращает очередь с активными метриками, разположенными в соответствии с порядком их устаревания.
 long getRefreshPeriod()
          Возвращает значение периода обновления очереди.
 boolean isExpired()
          Показывает истекло ли время действия данной очереди.
 void setRefreshPeriod(long refreshPeriod)
          Устанавливает указанное значение в качестве периода обновления для всей таблицы в целом.
 void updateMetric(JabbixActiveMetric freshMetric)
          Добавляет указанную метрику в таблицу.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ActiveMetricTable

public ActiveMetricTable(long refreshPeriod)
Создаёт таблицу с указанным периодом устаревания.

Parameters:
refreshPeriod - период устаревания очереди
Method Detail

updateMetric

public void updateMetric(JabbixActiveMetric freshMetric)
Добавляет указанную метрику в таблицу.

Specified by:
updateMetric in interface MetricTable
Parameters:
freshMetric - метрика, которую нужно добавить
See Also:
JabbixMetric.equals(Object)

setRefreshPeriod

public void setRefreshPeriod(long refreshPeriod)
Устанавливает указанное значение в качестве периода обновления для всей таблицы в целом. Каждый раз, когда период обновления изменяется, параметр nextRefresh также обновляется в соответствии со старым значением периода и текущим системным временем.

Если указанное значение равно нулю, то параметр nextRefresh устанавливается в null и периодичесткого обновления набора записей таблицы не производится.

Parameters:
refreshPeriod - период обновления в миллисекундах

getRefreshPeriod

public long getRefreshPeriod()
Возвращает значение периода обновления очереди.

Returns:
значение периода обновления очереди в миллисекундах

getNextRefresh

public Date getNextRefresh()
Возвращает врямя и дату, когда истекает время действия данной очереди.

Returns:
дата и время устаревания очереди

isExpired

public boolean isExpired()
Показывает истекло ли время действия данной очереди.

Returns:
истина, если очередь устарела, иначе ложь

getDelay

public long getDelay(TimeUnit unit)
Возвращает оставшееся время, в течение которого содержимое данной очереди считается свежим.

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

compareTo

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

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

compareTo

public int compareTo(ActiveMetricTable a)
Показывает, является ли данная таблица меньшей, равной или большей, чем указанная таблица. Одна таблица считается меньше другой, если её обновление ожидается раньше. Возвращаемое значение получается путём сравнения параметров nextCheck двух таблиц.

Parameters:
a - другая таблица, с которой необходмо выполнить сравнение
Returns:
число ниже нуля, если данная таблица устаревает раньше, чем указанная, ноль, если обе таблицы устаревают в одно и то же время, и число больше нуля, если данная таблица устаревает позднее указанной

getQueue

public DelayQueue getQueue()
Возвращает очередь с активными метриками, разположенными в соответствии с порядком их устаревания.

Returns:
очередь с активными метриками