CounterMonitor

CounterMonitor (카운터 모니터)

카운터 속성의 값을 관찰하도록 설계된 모니터 MBean을 정의하는 클래스예요. Monitor를 상속하고 CounterMonitorMBean을 구현해요.

출처: Java API Reference

본문

카운터 모니터는 카운터 값이 비교 수준(comparison level)이라고 하는 임계값에 도달하거나 이를 초과할 때 threshold notification을 보내요. 이때 notify 플래그가 true로 설정되어야 해요.

또한 오프셋(offset) 메커니즘을 통해 특정 계수 구간을 감지할 수 있어요. 오프셋 값이 0이 아니면, 카운터 값이 비교 수준에 도달해 임계값이 트리거될 때마다 그 비교 수준이 오프셋 값만큼 증가해요. 따라서 각 수준에서 카운트가 오프셋 값과 같은 간격만큼 증가할 때마다 임계값이 이벤트 알림을 트리거해요.

카운터가 최대값을 래핑할 수 있다면 모듈러스(modulus)를 지정해야 해요. 모듈러스는 카운터가 0으로 리셋되는 값이에요.

카운터 차분 모드(difference mode)를 사용하면 파생 게이지(derived gauge) 값은 두 연속 관찰 사이의 카운터 값 차이로 계산돼요. 이 차이가 음수이면 파생 게이지 값에 모듈러스 값이 더해져요.

if (counter[t] - counter[t-GP]) is positive then
  V[t] = counter[t] - counter[t-GP]
if (counter[t] - counter[t-GP]) is negative then
  V[t] = counter[t] - counter[t-GP] + MODULUS

이 카운터 모니터 구현은 관찰 속성이 정수 타입(Byte, Integer, Short, Long)이어야 해요. 주요 메서드로는 start(), stop(), getDerivedGauge(ObjectName), getThreshold(ObjectName), setInitThreshold(Number) 등이 있어요.

더 알아보기 (Learn more)

Java 공식 API