All Downloads are FREE. Search and download functionalities are using the official Maven repository.

scouter.boot.SigarTester Maven / Gradle / Ivy

The newest version!
package scouter.boot;

/**
 * @author Gun Lee ([email protected]) on 2016. 5. 9.
 */
public class SigarTester {
//    private static Sigar sigar = new Sigar();
//    private HashMap previousNetworkStats = new HashMap();
//    private HashMap previousDiskStats = new HashMap();
//
//
//    public static void main(String[] args) {
//        SigarTester tester = new SigarTester();
//        tester.run();
//        ThreadUtil.sleep(2000);
//        tester.run();
//        ThreadUtil.sleep(2000);
//        tester.run();
//        ThreadUtil.sleep(2000);
//        tester.run();
//        ThreadUtil.sleep(2000);
//        tester.run();
//        ThreadUtil.sleep(2000);
//        tester.run();
//    }
//
//    public void run() {
//        boolean skip = false;
//        CpuInfo[] cpuinfo = null;
//        CpuPerc[] cpuPerc = null;
//        Mem mem = null;
//        Swap swap = null;
//        FileSystem[] fs = null;
//        String[] netIf = null;
//        Uptime uptime = null;
//        double[] loadavg = null;
//        Map map = new HashMap();
//        try {
//            // CPU utilization
//            List list = new ArrayList();
//            try {
//                cpuinfo = sigar.getCpuInfoList();
//                cpuPerc = sigar.getCpuPercList();
//                List cpuList = new ArrayList();
//                for (int i = 0; i < cpuinfo.length; i++) {
//                    Map cpuMap = new HashMap();
//                    cpuMap.putAll(cpuinfo[i].toMap());
//                    cpuMap.put("combined", cpuPerc[i].getCombined());
//                    cpuMap.put("user", cpuPerc[i].getUser());
//                    cpuMap.put("sys", cpuPerc[i].getSys());
//                    cpuMap.put("idle", cpuPerc[i].getIdle());
//                    cpuMap.put("wait", cpuPerc[i].getWait());
//                    cpuMap.put("nice", cpuPerc[i].getNice());
//                    cpuMap.put("irq", cpuPerc[i].getIrq());
//                    cpuList.add(cpuMap);
//                }
//                sigar.getCpuPerc();
//                map.put("cpu", cpuList);
//
//                // Uptime
//                uptime = sigar.getUptime();
//                map.put("uptime", uptime.getUptime());
//
//                // Load Average
//                loadavg = sigar.getLoadAverage();
//                list.add(loadavg[0]);
//                list.add(loadavg[1]);
//                list.add(loadavg[2]);
//            } catch(SigarException se) {
//                se.printStackTrace();
////                log.error("SigarException caused during collection of CPU utilization");
////                log.error(ExceptionUtils.getStackTrace(se));
//            } finally {
//                map.put("loadavg", list);
//            }
//
//
//            // Memory Utilization
//            Map memMap = new HashMap();
//            Map swapMap = new HashMap();
//            try {
//                mem = sigar.getMem();
//                memMap.putAll(mem.toMap());
//
//                // Swap Utilization
//                swap = sigar.getSwap();
//                swapMap.putAll(swap.toMap());
//            } catch(SigarException se){
//                se.printStackTrace();
////                log.error("SigarException caused during collection of Memory utilization");
////                log.error(ExceptionUtils.getStackTrace(se));
//            } finally {
//                map.put("memory", memMap);
//                map.put("swap", swapMap);
//            }
//
//            // Network Utilization
//            List netInterfaces = new ArrayList();
//            try {
//                netIf = sigar.getNetInterfaceList();
//                for (int i = 0; i < netIf.length; i++) {
//                    NetInterfaceStat net = new NetInterfaceStat();
//                    try {
//                        net = sigar.getNetInterfaceStat(netIf[i]);
//                    } catch(SigarException e){
//                        // Ignore the exception when trying to stat network interface
//                        System.out.println("SigarException trying to stat network device "+netIf[i]);
//                        //log.warn("SigarException trying to stat network device "+netIf[i]);
//                        continue;
//                    }
//                    Map netMap = new HashMap();
//                    netMap.putAll(net.toMap());
//                    if(previousNetworkStats.containsKey(netIf[i])) {
//                        Map deltaMap = previousNetworkStats.get(netIf[i]);
//                        deltaMap.put("RxBytes", Long.parseLong(netMap.get("RxBytes").toString()) - Long.parseLong(deltaMap.get("RxBytes").toString()));
//                        deltaMap.put("RxDropped", Long.parseLong(netMap.get("RxDropped").toString()) - Long.parseLong(deltaMap.get("RxDropped").toString()));
//                        deltaMap.put("RxErrors", Long.parseLong(netMap.get("RxErrors").toString()) - Long.parseLong(deltaMap.get("RxErrors").toString()));
//                        deltaMap.put("RxPackets", Long.parseLong(netMap.get("RxPackets").toString()) - Long.parseLong(deltaMap.get("RxPackets").toString()));
//                        deltaMap.put("TxBytes", Long.parseLong(netMap.get("TxBytes").toString()) - Long.parseLong(deltaMap.get("TxBytes").toString()));
//                        deltaMap.put("TxCollisions", Long.parseLong(netMap.get("TxCollisions").toString()) - Long.parseLong(deltaMap.get("TxCollisions").toString()));
//                        deltaMap.put("TxErrors", Long.parseLong(netMap.get("TxErrors").toString()) - Long.parseLong(deltaMap.get("TxErrors").toString()));
//                        deltaMap.put("TxPackets", Long.parseLong(netMap.get("TxPackets").toString()) - Long.parseLong(deltaMap.get("TxPackets").toString()));
//                        netInterfaces.add(deltaMap);
//                        skip = false;
//                    } else {
//                        netInterfaces.add(netMap);
//                        skip = true;
//                    }
//                    previousNetworkStats.put(netIf[i], netMap);
//                }
//            } catch(SigarException se){
//                se.printStackTrace();
////                log.error("SigarException caused during collection of Network utilization");
////                log.error(ExceptionUtils.getStackTrace(se));
//            } finally {
//                map.put("network", netInterfaces);
//            }
//
//            // Filesystem Utilization
//            List fsList = new ArrayList();
//            try {
//                fs = sigar.getFileSystemList();
//                for (int i = 0; i < fs.length; i++) {
//                    FileSystemUsage usage = sigar.getFileSystemUsage(fs[i].getDirName());
//                    Map fsMap = new HashMap();
//                    fsMap.putAll(fs[i].toMap());
//                    fsMap.put("ReadBytes", usage.getDiskReadBytes());
//                    fsMap.put("Reads", usage.getDiskReads());
//                    fsMap.put("WriteBytes", usage.getDiskWriteBytes());
//                    fsMap.put("Writes", usage.getDiskWrites());
//                    if(previousDiskStats.containsKey(fs[i].getDevName())) {
//                        Map deltaMap = previousDiskStats.get(fs[i].getDevName());
//                        deltaMap.put("ReadBytes", usage.getDiskReadBytes() - (Long) deltaMap.get("ReadBytes"));
//                        deltaMap.put("Reads", usage.getDiskReads() - (Long) deltaMap.get("Reads"));
//                        deltaMap.put("WriteBytes", usage.getDiskWriteBytes() - (Long) deltaMap.get("WriteBytes"));
//                        deltaMap.put("Writes", usage.getDiskWrites() - (Long) deltaMap.get("Writes"));
//                        deltaMap.put("Total", usage.getTotal());
//                        deltaMap.put("Used", usage.getUsed());
//                        deltaMap.putAll(fs[i].toMap());
//                        fsList.add(deltaMap);
//                        skip = false;
//                    } else {
//                        fsList.add(fsMap);
//                        skip = true;
//                    }
//                    previousDiskStats.put(fs[i].getDevName(), fsMap);
//                }
//            } catch(SigarException se){
//                se.printStackTrace();
////                log.error("SigarException caused during collection of FileSystem utilization");
////                log.error(ExceptionUtils.getStackTrace(se));
//            } finally {
//                map.put("disk", fsList);
//            }
//            map.put("timestamp", System.currentTimeMillis());
//
//
//            //byte[] data = map.toString().getBytes();
//
////            sendOffset += data.length;
////            ChunkImpl c = new ChunkImpl("SystemMetrics", "Sigar", sendOffset, data, systemMetrics);
////            if(!skip) {
////                receiver.add(c);
////            }
//        } catch (Exception se) {
//            se.printStackTrace();
//            //log.error(ExceptionUtil.getStackTrace(se));
//        }
//    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy