if (slaveState.get(Monitors.MONITORS) != null) {
log.warn("Monitors are already started");
return successfulResponse();
}
Monitors monitor = new Monitors(slaveState, frequency, timeUnit);
monitor.addMonitor(new CpuUsageMonitor(jmxConnectionProvider, slaveState.getTimeline()));
monitor.addMonitor(new MemoryUsageMonitor(jmxConnectionProvider, slaveState.getTimeline()));
monitor.addMonitor(new GcMonitor(jmxConnectionProvider, slaveState.getTimeline()));
monitor.addMonitor(new OpenFilesMonitor(jmxConnectionProvider, slaveState.getTimeline()));
if (interfaceName != null) {
monitor.addMonitor(NetworkBytesMonitor.createReceiveMonitor(interfaceName, slaveState.getTimeline()));