package com.orbitz.monitoring.lib.timertask; import static com.orbitz.monitoring.api.MonitoringLevel.ESSENTIAL; import com.orbitz.monitoring.api.monitor.EventMonitor; import java.util.Collection; import java.util.Collections; /** * HeartbeatTimerTask fires an EventMonitor named MonitoringEngineManager.lifecycle every time * it is executed by a java.util.Timer. The Monitor will have an attribute named "eventType" with * a value of "heartbeat". * * @since 3.5 * * @author Matt O'Keefe */ public class HeartbeatTimerTask extends MonitorEmittingTimerTask { /** * Sends a heartbeat event. */ public Collection<EventMonitor> emitMonitors() { EventMonitor monitor = new EventMonitor("MonitoringEngineManager.lifecycle", ESSENTIAL); monitor.set("eventType", "heartbeat"); monitor.fire(); return Collections.singleton(monitor); } }