@GetMapping("/state")
	public SystemDataModel getRealTimeMonitorData(@RequestParam final String ip) throws InterruptedException, ExecutionException, TimeoutException {
		if (!config.isMonitorEnabled()) {
			throw new NGrinderRuntimeException(
				"Monitoring is disabled. If you want to enable monitoring feature," +
					" modify system settings. but there is a risk of attack from the monitoring server."
			);
		}

		int port = config.getMonitorPort();
		Future<SystemInfo> systemInfoFuture = AopUtils.proxy(this).getAsyncSystemInfo(ip, port);
		SystemInfo systemInfo = checkNotNull(systemInfoFuture.get(2, TimeUnit.SECONDS), "Monitoring data is not available.");
		return new SystemDataModel(systemInfo, "UNKNOWN");
	}
Get the target's monitored data by the given IP.

@param ip target host IP
@return json message containing the target's monitoring data.
ngrinder-controller/src/main/java/org/ngrinder/agent/controller/MonitorManagerApiController.java