2021-08-18
This commit is contained in:
@@ -14,5 +14,5 @@ include(
|
||||
"thread", "hibernate", "jdbc-sqlite",
|
||||
"xml", "jackson", "jsoup", "markdown", "network", "httpd",
|
||||
"swing", "java-fx", "properties",
|
||||
"mustache", "thymeleaf", "locale", "quartz"
|
||||
"mustache", "thymeleaf", "locale", "quartz", "sysinfo"
|
||||
)
|
||||
|
||||
15
sysinfo/build.gradle.kts
Normal file
15
sysinfo/build.gradle.kts
Normal file
@@ -0,0 +1,15 @@
|
||||
/*
|
||||
* Examples for Java
|
||||
*
|
||||
* Copyright (c) 2021. Elex. All Rights Reserved.
|
||||
* https://www.elex-project.com/
|
||||
*/
|
||||
|
||||
plugins {
|
||||
id("elex-java")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
|
||||
}
|
||||
20
sysinfo/logback.xml
Normal file
20
sysinfo/logback.xml
Normal file
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
~ Examples for Java
|
||||
~
|
||||
~ Copyright (c) 2021. Elex. All Rights Reserved.
|
||||
~ https://www.elex-project.com/
|
||||
-->
|
||||
|
||||
<configuration>
|
||||
|
||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<root level="TRACE">
|
||||
<appender-ref ref="CONSOLE" />
|
||||
</root>
|
||||
</configuration>
|
||||
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Examples for Java
|
||||
*
|
||||
* Copyright (c) 2021. Elex. All Rights Reserved.
|
||||
* https://www.elex-project.com/
|
||||
*/
|
||||
|
||||
package kr.pe.elex.examples;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.lang.management.ClassLoadingMXBean;
|
||||
import java.lang.management.ManagementFactory;
|
||||
|
||||
@Slf4j
|
||||
public class ClassLoadingInfo {
|
||||
private final ClassLoadingMXBean bean;
|
||||
|
||||
private ClassLoadingInfo() {
|
||||
bean = ManagementFactory.getClassLoadingMXBean();
|
||||
|
||||
}
|
||||
|
||||
public static ClassLoadingInfo get() {
|
||||
return new ClassLoadingInfo();
|
||||
}
|
||||
|
||||
public long getTotalLoadedClassCount() {
|
||||
return bean.getTotalLoadedClassCount();
|
||||
}
|
||||
|
||||
public int getLoadedClassCount() {
|
||||
return bean.getLoadedClassCount();
|
||||
}
|
||||
}
|
||||
74
sysinfo/src/main/java/kr/pe/elex/examples/CpuInfo.java
Normal file
74
sysinfo/src/main/java/kr/pe/elex/examples/CpuInfo.java
Normal file
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
* Examples for Java
|
||||
*
|
||||
* Copyright (c) 2021. Elex. All Rights Reserved.
|
||||
* https://www.elex-project.com/
|
||||
*/
|
||||
|
||||
package kr.pe.elex.examples;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.lang.management.ManagementFactory;
|
||||
|
||||
@Slf4j
|
||||
public class CpuInfo {
|
||||
private static final int availableProcessors = OSInfo.get().getAvailableProcessors();
|
||||
private static long lastSystemTime = 0;
|
||||
private static long lastProcessCpuTime = 0;
|
||||
private double systemCpuLoad, processCpuLoad;
|
||||
private long processCpuTime;
|
||||
private CpuInfo() {
|
||||
com.sun.management.OperatingSystemMXBean mxBean =
|
||||
(com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
|
||||
this.systemCpuLoad = mxBean.getSystemCpuLoad();
|
||||
this.processCpuLoad = mxBean.getProcessCpuLoad();
|
||||
this.processCpuTime = mxBean.getProcessCpuTime();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Contract(" -> new")
|
||||
public static CpuInfo get() {
|
||||
return new CpuInfo();
|
||||
}
|
||||
|
||||
public static synchronized double getCpuUsage() {
|
||||
|
||||
if (lastSystemTime == 0) {
|
||||
baselineCounters();
|
||||
return 0;
|
||||
}
|
||||
|
||||
long systemTime = System.nanoTime();
|
||||
long processCpuTime = 0;
|
||||
|
||||
processCpuTime = new CpuInfo().getProcessCpuTime();
|
||||
|
||||
double cpuUsage = (double) (processCpuTime - lastProcessCpuTime) / (systemTime - lastSystemTime);
|
||||
|
||||
lastSystemTime = systemTime;
|
||||
lastProcessCpuTime = processCpuTime;
|
||||
|
||||
return cpuUsage / availableProcessors;
|
||||
}
|
||||
|
||||
private static void baselineCounters() {
|
||||
lastSystemTime = System.nanoTime();
|
||||
lastProcessCpuTime = new CpuInfo().getProcessCpuTime();
|
||||
|
||||
}
|
||||
|
||||
public double getSystemCpuLoad() {
|
||||
return systemCpuLoad;
|
||||
}
|
||||
|
||||
public double getProcessCpuLoad() {
|
||||
return processCpuLoad;
|
||||
}
|
||||
|
||||
public long getProcessCpuTime() {
|
||||
return processCpuTime;
|
||||
}
|
||||
}
|
||||
53
sysinfo/src/main/java/kr/pe/elex/examples/DiskInfo.java
Normal file
53
sysinfo/src/main/java/kr/pe/elex/examples/DiskInfo.java
Normal file
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
* Examples for Java
|
||||
*
|
||||
* Copyright (c) 2021. Elex. All Rights Reserved.
|
||||
* https://www.elex-project.com/
|
||||
*/
|
||||
|
||||
package kr.pe.elex.examples;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
@Slf4j
|
||||
public class DiskInfo {
|
||||
private final long totalSpace, freeSpace, usableSpace;
|
||||
|
||||
private DiskInfo(@NotNull File root) {
|
||||
this.totalSpace = root.getTotalSpace();
|
||||
this.freeSpace = root.getFreeSpace();
|
||||
this.usableSpace = root.getUsableSpace();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Contract("_ -> new")
|
||||
public static DiskInfo get(@NotNull File root) {
|
||||
|
||||
return new DiskInfo(root);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bytes
|
||||
*/
|
||||
public long getTotalSpace() {
|
||||
return totalSpace;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bytes
|
||||
*/
|
||||
public long getFreeSpace() {
|
||||
return freeSpace;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bytes
|
||||
*/
|
||||
public long getUsableSpace() {
|
||||
return usableSpace;
|
||||
}
|
||||
}
|
||||
79
sysinfo/src/main/java/kr/pe/elex/examples/MemoryInfo.java
Normal file
79
sysinfo/src/main/java/kr/pe/elex/examples/MemoryInfo.java
Normal file
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Examples for Java
|
||||
*
|
||||
* Copyright (c) 2021. Elex. All Rights Reserved.
|
||||
* https://www.elex-project.com/
|
||||
*/
|
||||
|
||||
package kr.pe.elex.examples;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.lang.management.ManagementFactory;
|
||||
import java.lang.management.MemoryMXBean;
|
||||
import java.lang.management.MemoryUsage;
|
||||
|
||||
@Slf4j
|
||||
public class MemoryInfo {
|
||||
private final long heapMax, heapUsed;
|
||||
private final long nonHeapMax, nonHeapUsed;
|
||||
private final long totalPhysicalMemory, freePhysicalMemory;
|
||||
private final long totalSwapMemory, freeSwapMemory;
|
||||
private MemoryInfo() {
|
||||
MemoryMXBean memory = ManagementFactory.getMemoryMXBean();
|
||||
MemoryUsage usage = memory.getHeapMemoryUsage();
|
||||
this.heapMax = usage.getMax();
|
||||
this.heapUsed = usage.getUsed();
|
||||
usage = memory.getNonHeapMemoryUsage();
|
||||
this.nonHeapMax = usage.getMax();
|
||||
this.nonHeapUsed = usage.getUsed();
|
||||
|
||||
com.sun.management.OperatingSystemMXBean osBean =
|
||||
(com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
|
||||
|
||||
this.totalPhysicalMemory = osBean.getTotalPhysicalMemorySize();
|
||||
this.freePhysicalMemory = osBean.getFreePhysicalMemorySize();
|
||||
this.totalSwapMemory = osBean.getTotalSwapSpaceSize();
|
||||
this.freeSwapMemory = osBean.getFreeSwapSpaceSize();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Contract(" -> new")
|
||||
public static MemoryInfo get() {
|
||||
return new MemoryInfo();
|
||||
}
|
||||
|
||||
public long getHeapMax() {
|
||||
return heapMax;
|
||||
}
|
||||
|
||||
public long getHeapUsed() {
|
||||
return heapUsed;
|
||||
}
|
||||
|
||||
public long getNonHeapMax() {
|
||||
return nonHeapMax;
|
||||
}
|
||||
|
||||
public long getNonHeapUsed() {
|
||||
return nonHeapUsed;
|
||||
}
|
||||
|
||||
public long getTotalPhysicalMemory() {
|
||||
return totalPhysicalMemory;
|
||||
}
|
||||
|
||||
public long getFreePhysicalMemory() {
|
||||
return freePhysicalMemory;
|
||||
}
|
||||
|
||||
public long getTotalSwapMemory() {
|
||||
return totalSwapMemory;
|
||||
}
|
||||
|
||||
public long getFreeSwapMemory() {
|
||||
return freeSwapMemory;
|
||||
}
|
||||
}
|
||||
96
sysinfo/src/main/java/kr/pe/elex/examples/OSInfo.java
Normal file
96
sysinfo/src/main/java/kr/pe/elex/examples/OSInfo.java
Normal file
@@ -0,0 +1,96 @@
|
||||
/*
|
||||
* Examples for Java
|
||||
*
|
||||
* Copyright (c) 2021. Elex. All Rights Reserved.
|
||||
* https://www.elex-project.com/
|
||||
*/
|
||||
|
||||
package kr.pe.elex.examples;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.lang.management.ManagementFactory;
|
||||
|
||||
@Slf4j
|
||||
public class OSInfo {
|
||||
private String name, arch, version;
|
||||
private int availableProcessors;
|
||||
private double systemLoadAverage;
|
||||
private long totalPhysicalMemorySize, freePhysicalMemorySize;
|
||||
private long totalSwapSpaceSize, freeSwapSpaceSize;
|
||||
private long vmMemorySize;
|
||||
private double processCpuLoad;
|
||||
private long processCpuTime;
|
||||
private OSInfo() {
|
||||
com.sun.management.OperatingSystemMXBean bean =
|
||||
(com.sun.management.OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
|
||||
this.name = bean.getName();
|
||||
this.arch = bean.getArch();
|
||||
this.version = bean.getVersion();
|
||||
this.availableProcessors = bean.getAvailableProcessors();
|
||||
this.systemLoadAverage = bean.getSystemLoadAverage();
|
||||
this.processCpuLoad = bean.getProcessCpuLoad();
|
||||
this.processCpuTime = bean.getProcessCpuTime();
|
||||
this.totalPhysicalMemorySize = bean.getTotalPhysicalMemorySize();
|
||||
this.freePhysicalMemorySize = bean.getFreePhysicalMemorySize();
|
||||
this.totalSwapSpaceSize = bean.getTotalSwapSpaceSize();
|
||||
this.freeSwapSpaceSize = bean.getFreeSwapSpaceSize();
|
||||
this.vmMemorySize = bean.getCommittedVirtualMemorySize();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Contract(" -> new")
|
||||
public static OSInfo get() {
|
||||
return new OSInfo();
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getArch() {
|
||||
return arch;
|
||||
}
|
||||
|
||||
public String getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
public int getAvailableProcessors() {
|
||||
return availableProcessors;
|
||||
}
|
||||
|
||||
public double getSystemLoadAverage() {
|
||||
return systemLoadAverage;
|
||||
}
|
||||
|
||||
public long getTotalPhysicalMemorySize() {
|
||||
return totalPhysicalMemorySize;
|
||||
}
|
||||
|
||||
public long getFreePhysicalMemorySize() {
|
||||
return freePhysicalMemorySize;
|
||||
}
|
||||
|
||||
public long getTotalSwapSpaceSize() {
|
||||
return totalSwapSpaceSize;
|
||||
}
|
||||
|
||||
public long getFreeSwapSpaceSize() {
|
||||
return freeSwapSpaceSize;
|
||||
}
|
||||
|
||||
public long getVmMemorySize() {
|
||||
return vmMemorySize;
|
||||
}
|
||||
|
||||
public double getProcessCpuLoad() {
|
||||
return processCpuLoad;
|
||||
}
|
||||
|
||||
public long getProcessCpuTime() {
|
||||
return processCpuTime;
|
||||
}
|
||||
}
|
||||
86
sysinfo/src/main/java/kr/pe/elex/examples/RuntimeInfo.java
Normal file
86
sysinfo/src/main/java/kr/pe/elex/examples/RuntimeInfo.java
Normal file
@@ -0,0 +1,86 @@
|
||||
/*
|
||||
* Examples for Java
|
||||
*
|
||||
* Copyright (c) 2021. Elex. All Rights Reserved.
|
||||
* https://www.elex-project.com/
|
||||
*/
|
||||
|
||||
package kr.pe.elex.examples;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.lang.management.ManagementFactory;
|
||||
import java.lang.management.RuntimeMXBean;
|
||||
|
||||
@Slf4j
|
||||
public class RuntimeInfo {
|
||||
private String name, specName, specVendor, specVersion;
|
||||
private String vmName, vmVendor, vmVersion;
|
||||
private long startTime, upTime;
|
||||
private RuntimeInfo() {
|
||||
RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean();
|
||||
|
||||
this.name = runtime.getName();
|
||||
this.specName = runtime.getSpecName();
|
||||
this.specVendor = runtime.getSpecVendor();
|
||||
this.specVersion = runtime.getSpecVersion();
|
||||
|
||||
this.vmName = runtime.getVmName();
|
||||
this.vmVendor = runtime.getVmVendor();
|
||||
this.vmVersion = runtime.getVmVersion();
|
||||
|
||||
this.startTime = runtime.getStartTime();
|
||||
this.upTime = runtime.getUptime();
|
||||
try {
|
||||
/* Requires 10+ */
|
||||
//info.pid = runtime.getPid();
|
||||
} catch (Throwable e) {
|
||||
//info.pid = 0L;
|
||||
}
|
||||
}
|
||||
//private long pid; /* Requires 10+ */
|
||||
|
||||
@NotNull
|
||||
@Contract(" -> new")
|
||||
public static RuntimeInfo get() {
|
||||
return new RuntimeInfo();
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getSpecName() {
|
||||
return specName;
|
||||
}
|
||||
|
||||
public String getSpecVendor() {
|
||||
return specVendor;
|
||||
}
|
||||
|
||||
public String getSpecVersion() {
|
||||
return specVersion;
|
||||
}
|
||||
|
||||
public String getVmName() {
|
||||
return vmName;
|
||||
}
|
||||
|
||||
public String getVmVendor() {
|
||||
return vmVendor;
|
||||
}
|
||||
|
||||
public String getVmVersion() {
|
||||
return vmVersion;
|
||||
}
|
||||
|
||||
public long getStartTime() {
|
||||
return startTime;
|
||||
}
|
||||
|
||||
public long getUpTime() {
|
||||
return upTime;
|
||||
}
|
||||
}
|
||||
28
sysinfo/src/main/java/kr/pe/elex/examples/SysInfo.java
Normal file
28
sysinfo/src/main/java/kr/pe/elex/examples/SysInfo.java
Normal file
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Examples for Java
|
||||
*
|
||||
* Copyright (c) 2021. Elex. All Rights Reserved.
|
||||
* https://www.elex-project.com/
|
||||
*/
|
||||
|
||||
package kr.pe.elex.examples;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.lang.management.CompilationMXBean;
|
||||
import java.lang.management.ManagementFactory;
|
||||
import java.lang.management.MemoryManagerMXBean;
|
||||
import java.lang.management.ThreadMXBean;
|
||||
|
||||
@Slf4j
|
||||
class SysInfo {
|
||||
|
||||
private SysInfo() {
|
||||
ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
|
||||
//threadMXBean.
|
||||
MemoryManagerMXBean memoryManagerMXBean = (MemoryManagerMXBean) ManagementFactory.getMemoryManagerMXBeans();
|
||||
//memoryManagerMXBean.
|
||||
CompilationMXBean compilationMXBean = ManagementFactory.getCompilationMXBean();
|
||||
//compilationMXBean.
|
||||
}
|
||||
}
|
||||
41
sysinfo/src/main/java/kr/pe/elex/examples/SysInfoUtils.java
Normal file
41
sysinfo/src/main/java/kr/pe/elex/examples/SysInfoUtils.java
Normal file
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* Examples for Java
|
||||
*
|
||||
* Copyright (c) 2021. Elex. All Rights Reserved.
|
||||
* https://www.elex-project.com/
|
||||
*/
|
||||
|
||||
package kr.pe.elex.examples;
|
||||
|
||||
import com.elex_project.abraxas.Exez;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Slf4j
|
||||
public class SysInfoUtils {
|
||||
|
||||
private SysInfoUtils() {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static Map<String, String> getOSInfo() {
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
try {
|
||||
List<String> result = Exez.exec("cat /etc/*-release");
|
||||
for (String line : result) {
|
||||
String[] parted = line.split("=");
|
||||
map.put(parted[0], parted[1]);
|
||||
}
|
||||
|
||||
} catch (IOException | InterruptedException e) {
|
||||
log.error("Oops!", e);
|
||||
}
|
||||
|
||||
return map;
|
||||
}
|
||||
}
|
||||
49
sysinfo/src/main/java/kr/pe/elex/examples/ThreadInfo.java
Normal file
49
sysinfo/src/main/java/kr/pe/elex/examples/ThreadInfo.java
Normal file
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
* Examples for Java
|
||||
*
|
||||
* Copyright (c) 2021. Elex. All Rights Reserved.
|
||||
* https://www.elex-project.com/
|
||||
*/
|
||||
|
||||
package kr.pe.elex.examples;
|
||||
|
||||
import com.sun.management.ThreadMXBean;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.lang.management.ManagementFactory;
|
||||
|
||||
@Slf4j
|
||||
public class ThreadInfo {
|
||||
private final ThreadMXBean bean;
|
||||
|
||||
private ThreadInfo() {
|
||||
bean = (ThreadMXBean) ManagementFactory.getThreadMXBean();
|
||||
}
|
||||
|
||||
@Contract(" -> new")
|
||||
public static @NotNull ThreadInfo get() {
|
||||
return new ThreadInfo();
|
||||
}
|
||||
|
||||
public long[] getThreadIds() {
|
||||
return bean.getAllThreadIds();
|
||||
}
|
||||
|
||||
public long getThreadCpuTime(long id) {
|
||||
return bean.getThreadCpuTime(id);
|
||||
}
|
||||
|
||||
public long getThreadUserTime(long id) {
|
||||
return bean.getThreadUserTime(id);
|
||||
}
|
||||
|
||||
public int getThreadCount() {
|
||||
return bean.getThreadCount();
|
||||
}
|
||||
|
||||
public long getAllocatedBytes(long id) {
|
||||
return bean.getThreadAllocatedBytes(id);
|
||||
}
|
||||
}
|
||||
72
sysinfo/src/test/java/kr/pe/elex/examples/SysInfoTest.java
Normal file
72
sysinfo/src/test/java/kr/pe/elex/examples/SysInfoTest.java
Normal file
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
* Examples for Java
|
||||
*
|
||||
* Copyright (c) 2021. Elex. All Rights Reserved.
|
||||
* https://www.elex-project.com/
|
||||
*/
|
||||
|
||||
package kr.pe.elex.examples;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
@Slf4j
|
||||
public class SysInfoTest {
|
||||
/*@Test
|
||||
public void testProcessorInfo(){
|
||||
ProcessorInfo info = HardwareInfo.getProcessorInfo();
|
||||
L.i("getModelName", info.getModelName());
|
||||
L.i("getStepping", info.getStepping());
|
||||
L.i("getCacheSize", info.getCacheSize());
|
||||
L.i("getFamily", info.getFamily());
|
||||
L.i("getVendorId", info.getVendorId());
|
||||
L.i("getNumCores", info.getNumCores());
|
||||
L.i("getMhz", info.getMhz());
|
||||
L.i("getTemperature", info.getTemperature());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBiosInfo(){
|
||||
BiosInfo info = HardwareInfo.getBiosInfo();
|
||||
L.i("getManufacturer", info.getManufacturer());
|
||||
L.i("getVersion", info.getVersion());
|
||||
L.i("getDate", info.getDate());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMotherboardInfo(){
|
||||
MotherboardInfo info = HardwareInfo.getMotherboardInfo();
|
||||
L.i("getManufacturer", info.getManufacturer());
|
||||
L.i("getVersion", info.getVersion());
|
||||
L.i("Name", info.getName());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOSInfo(){
|
||||
OSInfo info = HardwareInfo.getOSInfo();
|
||||
L.i("getName", info.getName());
|
||||
L.i("getManufacturer", info.getManufacturer());
|
||||
L.i("getVersion", info.getVersion());
|
||||
L.i("getLastBootTime", info.getLastBootTime());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMemoryInfo(){
|
||||
MemoryInfo info = HardwareInfo.getMemoryInfo();
|
||||
L.i("getTotalMemory", info.getTotalMemory());
|
||||
L.i("getAvailableMemory", info.getAvailableMemory());
|
||||
L.i("getFreeMemory", info.getFreeMemory());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNetworkInfo(){
|
||||
NetworkInfo info = HardwareInfo.getNetworkInfo();
|
||||
NetworkInterfaceInfo networkInterface = info.getNetworkInterfaces().get(0);
|
||||
L.i("getName", networkInterface.getName());
|
||||
L.i("getType", networkInterface.getType());
|
||||
L.i("getIpv4", networkInterface.getIpv4());
|
||||
L.i("getIpv6", networkInterface.getIpv6());
|
||||
L.i("getReceivedBytes", networkInterface.getReceivedBytes());
|
||||
L.i("getTransmittedBytes", networkInterface.getTransmittedBytes());
|
||||
}*/
|
||||
}
|
||||
Reference in New Issue
Block a user