package org.hyperic.hq.measurement.agent.client; import org.hyperic.hq.agent.AgentConnectionException; import org.hyperic.hq.agent.AgentRemoteException; import org.hyperic.hq.appdef.Agent; import org.hyperic.hq.appdef.shared.AppdefEntityID; import org.hyperic.hq.measurement.monitor.LiveMeasurementException; import org.hyperic.hq.measurement.monitor.MonitorAgentException; import org.hyperic.hq.measurement.server.session.Measurement; import org.hyperic.hq.measurement.server.session.SRN; import org.hyperic.hq.product.MetricValue; import org.springframework.transaction.annotation.Transactional; public interface AgentMonitor { /* (non-Javadoc) * @see org.hyperic.hq.measurement.agent.client.AgentMonitor#ping(org.hyperic.hq.appdef.Agent) */ boolean ping(Agent agent); /* (non-Javadoc) * @see org.hyperic.hq.measurement.agent.client.AgentMonitor#schedule(org.hyperic.hq.measurement.agent.client.MeasurementCommandsClient, org.hyperic.hq.measurement.server.session.SRN, org.hyperic.hq.measurement.server.session.Measurement[]) */ void schedule(MeasurementCommandsClient client, SRN srn, Measurement[] schedule) throws AgentRemoteException, AgentConnectionException; /* (non-Javadoc) * @see org.hyperic.hq.measurement.agent.client.AgentMonitor#unschedule(org.hyperic.hq.appdef.Agent, org.hyperic.hq.appdef.shared.AppdefEntityID[]) */ void unschedule(Agent agent, AppdefEntityID[] ids) throws MonitorAgentException; @Transactional(readOnly = true) MetricValue[] getLiveValues(int agentId, String[] dsns) throws MonitorAgentException, LiveMeasurementException; /* (non-Javadoc) * @see org.hyperic.hq.measurement.agent.client.AgentMonitor#getLiveValues(org.hyperic.hq.appdef.Agent, java.lang.String[]) */ MetricValue[] getLiveValues(Agent agent, String[] dsns) throws MonitorAgentException, LiveMeasurementException; }