Package org.hyperic.sigar

Examples of org.hyperic.sigar.Sigar


    status.setServerOs(props.getProperty("os.name") + " " + props.getProperty("os.arch") + " " + props.getProperty("os.version"));
    status.setJavaHome(props.getProperty("java.home"));
    status.setJavaVersion(props.getProperty("java.version"));
    status.setJavaTmpPath(props.getProperty("java.io.tmpdir"));

    Sigar sigar = new Sigar();
    getServerCpuInfo(sigar, status);
    getServerDiskInfo(sigar, status);
    getServerMemoryInfo(sigar, status);
   
    return status;
View Full Code Here


                throw e.getTargetException();
            } finally {
                sharedSigarLock.unlock();
            }
        } else {
            Sigar localSigar = createLocalSigarInstance();
            try {
                return method.invoke(localSigar, args);
            } catch (InvocationTargetException e) {
                throw e.getTargetException();
            } finally {
View Full Code Here

        localSigarLock.lock();
        try {
            if (LIMIT_LOCAL_SIGAR_INSTANCES && localSigarInstancesCount >= MAX_LOCAL_SIGAR_INSTANCES) {
                throw new RuntimeException("Too many Sigar instances created");
            }
            Sigar sigarInstance = sigarFactory.createSigarInstance();
            localSigarInstancesCount++;
            return sigarInstance;
        } finally {
            localSigarLock.unlock();
        }
View Full Code Here

    }

    private static class DefaultSigarFactory implements SigarFactory {
        @Override
        public Sigar createSigarInstance() {
            return new Sigar();
        }
View Full Code Here

     * @since 4.4
     */
    public void kill(String signalName) throws SigarException {
        int signalNumber = getSignalNumber(signalName);
        // TODO: Should we check if the process is even running and throw a special exception if it's not?
        Sigar fullSigar = new Sigar();
        try {
            fullSigar.kill(pid, signalNumber);
        } finally {
            fullSigar.close();
        }
    }
View Full Code Here

        assert allServices.size() > 0;
    }

    @Test(enabled = ENABLED)
    public void testNativeMemory() throws Exception {
        Sigar sigar = new Sigar();
        try {
            Mem allMemory = sigar.getMem();
            Swap allSwap = sigar.getSwap();

            NumberFormat nf = NumberFormat.getNumberInstance();
            System.out.println("All Memory:" + "\nActualFreeMem=" + nf.format(allMemory.getActualFree())
                + "\nActualUsedMem=" + nf.format(allMemory.getActualUsed()) + "\n       RamMem="
                + nf.format(allMemory.getRam()) + "\n      FreeMem=" + nf.format(allMemory.getFree())
                + "\n      UsedMem=" + nf.format(allMemory.getUsed()) + "\n     TotalMem="
                + nf.format(allMemory.getTotal()) + "\n     FreeSwap=" + nf.format(allSwap.getFree())
                + "\n     UsedSwap=" + nf.format(allSwap.getUsed()) + "\n    TotalSwap="
                + nf.format(allSwap.getTotal()));
            assert allMemory.getActualFree() > 0 : allMemory.getActualFree();
            assert allMemory.getFree() > 0 : allMemory.getFree();
            assert allMemory.getTotal() > 1000000 : allMemory.getTotal();
            if (allSwap.getTotal()>0) {
                assert allSwap.getTotal() > 1000000 : allSwap.getTotal();
                assert allSwap.getFree() > 0 : allSwap.getFree();
            }

            ProcMem processMemory = sigar.getProcMem(sigar.getPid());

            System.out.println("Process Memory:" + "\n  MinorFaults=" + nf.format(processMemory.getMinorFaults())
                + "\n  MajorFaults=" + nf.format(processMemory.getMajorFaults()) + "\n   PageFaults="
                + nf.format(processMemory.getPageFaults()) + "\n     Resident="
                + nf.format(processMemory.getResident()) + "\n        Share=" + nf.format(processMemory.getShare())
                + "\n         Size=" + nf.format(processMemory.getSize()));
            assert processMemory.getResident() > 0 : processMemory.getResident();
            assert processMemory.getSize() > 0 : processMemory.getSize();
        } finally {
            sigar.close();
        }
    }
View Full Code Here

     */
    @Test(enabled = ENABLED)
    public void testCreateAlotOfNativeObjects() throws Exception {
        System.out.println("Creating alot of native Who objects");
        for (int i = 0; i < 1000; i++) {
            Sigar sigar = new Sigar();
            sigar.getWhoList();
            sigar.close();
        }

        System.out.println("Creating alot of native Cpu objects");
        for (int i = 0; i < 1000; i++) {
            Sigar sigar = new Sigar();
            sigar.getCpuList();
            sigar.close();
        }

        System.out.println("Creating alot of native FileInfo objects");
        File tmpFile = File.createTempFile("native", "test");
        String tmp = tmpFile.getAbsolutePath();
        try {
            for (int i = 0; i < 500; i++) {
                Sigar sigar = new Sigar();
                sigar.getFileInfo(tmp);
                sigar.close();
            }
        } finally {
            tmpFile.delete();
        }
    }
View Full Code Here

     *
     * @throws Exception
     */
    @Test(enabled = ENABLED)
    public void testShutdownInitialize() throws Exception {
        Sigar sigar = null;
        try {
            sigar = new Sigar();
            sigar.getCpu();
        } catch (Throwable t) {
            System.out.println("~~~ Native library is not available - cannot test the shutdown/init cycle");
            return;
        } finally {
            if (sigar != null) {
                sigar.close();
            }
        }
    }
View Full Code Here

    private final Sigar sigar;

    @Inject public SigarService(Settings settings) {
        super(settings);

        Sigar sigar = null;
        try {
            sigar = new Sigar();
            // call it to make sure the library was loaded
            sigar.getPid();
        } catch (Throwable t) {
            logger.trace("Failed to load sigar", t);
            if (sigar != null) {
                try {
                    sigar.close();
                } catch (Throwable t1) {
                    // ignore
                } finally {
                    sigar = null;
                }
View Full Code Here

    @Override public synchronized ProcessInfo processInfo() {
        return new ProcessInfo(sigarService.sigar().getPid(), JmxProcessProbe.getMaxFileDescriptorCount());
    }

    @Override public synchronized ProcessStats processStats() {
        Sigar sigar = sigarService.sigar();
        ProcessStats stats = new ProcessStats();
        stats.timestamp = System.currentTimeMillis();
        stats.openFileDescriptors = JmxProcessProbe.getOpenFileDescriptorCount();

        try {
            ProcCpu cpu = sigar.getProcCpu(sigar.getPid());
            stats.cpu = new ProcessStats.Cpu();
            stats.cpu.percent = (short) (cpu.getPercent() * 100);
            stats.cpu.sys = cpu.getSys();
            stats.cpu.user = cpu.getUser();
        } catch (SigarException e) {
            // ignore
        }

        try {
            ProcMem mem = sigar.getProcMem(sigar.getPid());
            stats.mem = new ProcessStats.Mem();
            stats.mem.totalVirtual = mem.getSize();
            stats.mem.resident = mem.getResident();
            stats.mem.share = mem.getShare();
        } catch (SigarException e) {
View Full Code Here

TOP

Related Classes of org.hyperic.sigar.Sigar

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.