package ddth.dasp.status.controller;
import java.util.HashMap;
import java.util.Map;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import ddth.dasp.status.DaspBundleConstants;
public class ServerStatusController extends BaseController {
private final static String VIEW_NAME = DaspBundleConstants.MODULE_NAME + ":server";
@RequestMapping
public String handleRequest() {
return VIEW_NAME;
}
@ModelAttribute("SERVER")
public Object buildModelServer() {
Map<String, Object> model = new HashMap<String, Object>();
Runtime rt = Runtime.getRuntime();
model.put("cpu_processors", rt.availableProcessors());
long memMax = rt.maxMemory();
long memUsed = rt.totalMemory() - rt.freeMemory();
long memFree = memMax - memUsed;
model.put("memory_used", memUsed);
model.put("memory_free", memFree);
model.put("memory_used_percent", memUsed * 100 / memMax);
model.put("memory_free_percent", memFree * 100 / memMax);
model.put("memory_available", memMax);
String os = System.getProperty("os.name") + " - " + System.getProperty("os.arch") + " - "
+ System.getProperty("os.version");
model.put("os", os);
String java = System.getProperty("java.vendor") + " - "
+ System.getProperty("java.version");
String javaSpec = System.getProperty("java.specification.name") + " - "
+ System.getProperty("java.specification.vendor") + " - "
+ System.getProperty("java.specification.version");
String javaVm = System.getProperty("java.vm.name") + " - "
+ System.getProperty("java.vm.vendor") + " - "
+ System.getProperty("java.vm.version");
String javaVmSpec = System.getProperty("java.vm.specification.name") + " - "
+ System.getProperty("java.vm.specification.vendor") + " - "
+ System.getProperty("java.vm.specification.version");
model.put("java", java);
model.put("java_spec", javaSpec);
model.put("java_vm", javaVm);
model.put("java_vm_spec", javaVmSpec);
return model;
}
}