2020-10-07 14:03:17 +02:00
|
|
|
package org.gcube.smartgears.handler.resourceregistry;
|
|
|
|
|
|
|
|
import java.lang.management.ManagementFactory;
|
2022-03-10 18:14:25 +01:00
|
|
|
import java.util.Map;
|
2020-10-07 14:03:17 +02:00
|
|
|
|
|
|
|
import javax.management.MBeanServer;
|
|
|
|
import javax.management.ObjectName;
|
|
|
|
|
2022-03-10 18:14:25 +01:00
|
|
|
import org.gcube.resourcemanagement.model.reference.entities.facets.SoftwareFacet;
|
|
|
|
import org.gcube.smartgears.handler.resourceregistry.resourcemanager.HostingNodeManager;
|
|
|
|
import org.gcube.smartgears.handler.resourceregistry.resourcemanager.LinuxDistributionInfo;
|
2020-10-07 14:03:17 +02:00
|
|
|
import org.junit.Test;
|
|
|
|
import org.slf4j.Logger;
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
|
|
|
public class HostingNodeManagerTest {
|
|
|
|
|
|
|
|
private static final Logger logger = LoggerFactory.getLogger(HostingNodeManagerTest.class);
|
|
|
|
|
|
|
|
@Test
|
2022-03-10 18:14:25 +01:00
|
|
|
public void testOSAndMemInfo() throws Exception {
|
2020-10-07 14:03:17 +02:00
|
|
|
logger.debug("Runtime.getRuntime().maxMemory() : {}", Runtime.getRuntime().maxMemory());
|
|
|
|
logger.debug("Runtime.getRuntime().totalMemory() : {}", Runtime.getRuntime().totalMemory());
|
|
|
|
logger.debug("Runtime.getRuntime().freeMemory() : {}", Runtime.getRuntime().freeMemory());
|
|
|
|
|
|
|
|
long allocatedMemory = (Runtime.getRuntime().totalMemory()-Runtime.getRuntime().freeMemory());
|
|
|
|
long presumableFreeMemory = Runtime.getRuntime().maxMemory() - allocatedMemory;
|
|
|
|
logger.debug("allocatedMemory : {}", allocatedMemory);
|
|
|
|
logger.debug("presumableFreeMemory : {}", presumableFreeMemory);
|
|
|
|
|
|
|
|
MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
|
|
|
|
Object total = mBeanServer.getAttribute(new ObjectName("java.lang","type","OperatingSystem"), "TotalPhysicalMemorySize");
|
|
|
|
logger.debug("Total Memory : {}", total);
|
|
|
|
|
|
|
|
Object free = mBeanServer.getAttribute(new ObjectName("java.lang","type","OperatingSystem"), "FreePhysicalMemorySize");
|
|
|
|
logger.debug("Free Memory : {}", free);
|
|
|
|
|
2022-03-10 18:14:25 +01:00
|
|
|
/* Keep this code to performs checks */
|
2020-10-07 14:06:18 +02:00
|
|
|
java.lang.management.OperatingSystemMXBean mxbean = ManagementFactory.getOperatingSystemMXBean();
|
2020-10-07 14:03:17 +02:00
|
|
|
@SuppressWarnings("restriction")
|
|
|
|
com.sun.management.OperatingSystemMXBean sunmxbean = (com.sun.management.OperatingSystemMXBean) mxbean;
|
|
|
|
@SuppressWarnings("restriction")
|
|
|
|
long freeMemory = sunmxbean.getFreePhysicalMemorySize();
|
|
|
|
@SuppressWarnings("restriction")
|
|
|
|
long totalMemory = sunmxbean.getTotalPhysicalMemorySize();
|
|
|
|
logger.debug("freeMemory : {}", freeMemory);
|
|
|
|
logger.debug("totalMemory : {}", totalMemory);
|
2022-03-10 18:14:25 +01:00
|
|
|
|
|
|
|
|
|
|
|
logger.debug(mxbean.getName()); // softwareFacet.setGroup(System.getProperty("os.name"));
|
|
|
|
logger.debug(mxbean.getArch()); // softwareFacet.setName(System.getProperty("os.arch"));
|
|
|
|
logger.debug(mxbean.getVersion()); // softwareFacet
|
|
|
|
|
|
|
|
logger.debug(System.getProperty("os.name"));
|
|
|
|
logger.debug(System.getProperty("os.arch"));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
public void testGetLinuxDistributionInfo() {
|
|
|
|
LinuxDistributionInfo l = new LinuxDistributionInfo();
|
|
|
|
Map<String,String> map = l.getInfo();
|
|
|
|
logger.info("{}", map);
|
|
|
|
|
2020-10-07 14:03:17 +02:00
|
|
|
}
|
|
|
|
|
2022-03-10 18:14:25 +01:00
|
|
|
|
|
|
|
@Test
|
|
|
|
public void testGetOSFacet() {
|
|
|
|
SoftwareFacet softwareFacet = HostingNodeManager.getOperativeSystem();
|
|
|
|
logger.info("{}", softwareFacet);
|
|
|
|
|
|
|
|
}
|
2020-10-07 14:03:17 +02:00
|
|
|
}
|