Package org.hyperic.sigar

Examples of org.hyperic.sigar.FileSystem


    }
  }

  public static void getServerDiskInfo(Sigar sigar, ServerStatus status) {
    try {
      FileSystem fslist[] = sigar.getFileSystemList();
      FileSystemUsage usage = null;
      for (int i = 0; i < fslist.length; i++) {
        FileSystem fs = fslist[i];
        switch (fs.getType()) {
        case 0: // TYPE_UNKNOWN :未知
        case 1: // TYPE_NONE
        case 3:// TYPE_NETWORK :网络
        case 4:// TYPE_RAM_DISK :闪存
        case 5:// TYPE_CDROM :光驱
        case 6:// TYPE_SWAP :页面交换
          break;
        case 2: // TYPE_LOCAL_DISK : 本地硬盘
          DiskInfoVo disk = new DiskInfoVo();
          disk.setDevName(fs.getDevName());
          disk.setDirName(fs.getDirName());
          usage = sigar.getFileSystemUsage(fs.getDirName());
          disk.setTotalSize(usage.getTotal() / (1024 * 1024));
          // disk.setFreeSize(usage.getFree()/(1024*1024));
          disk.setAvailSize(usage.getAvail() / (1024 * 1024));
          disk.setUsedSize(usage.getUsed() / (1024 * 1024));
          disk.setUsePercent(usage.getUsePercent() * 100D + "%");
          disk.setTypeName(fs.getTypeName());
          disk.setSysTypeName(fs.getSysTypeName());

          String val = diskWritesAndReadsOnInit.get(fs.getDevName());
          if (val != null) {
            long timePeriod = (System.currentTimeMillis() - initTime) / 1000;
            long origRead = Long.parseLong(val.split("\\|")[0]);
            long origWrite = Long.parseLong(val.split("\\|")[1]);
            disk.setDiskReadRate((usage.getDiskReadBytes() - origRead) / timePeriod);
View Full Code Here


    public FileSystemInfo getFileSystem(String path) {
        String mountPoint = null;

        try {
            FileSystem mountPointForPath = sigar.getFileSystemMap().getMountPoint(path);
            if (mountPointForPath != null)
                mountPoint = mountPointForPath.getDirName();
        } catch (Throwable e) {
            log.warn("Cannot obtain native file system information for [" + path + "]", e); // ignore native error otherwise
        }

        FileSystemInfo fileSystem = new FileSystemInfo(mountPoint);
View Full Code Here

                + " discovery, since native system info is not available.");
            return results;
        }

        for (FileSystemInfo fsInfo : sysInfo.getFileSystems()) {
            FileSystem fs = fsInfo.getFileSystem();
            int fsType = fs.getType();
            // We only support local, network (nfs), lofs, or tmpfs filesystems - skip any other types.
            switch (fsType) {
            case FileSystem.TYPE_LOCAL_DISK:
            case FileSystem.TYPE_NETWORK:
                break;
            default:
                String sysTypeName = fs.getSysTypeName();
                if (!(SYS_TYPE_NAME_LOFS.equals(sysTypeName) || SYS_TYPE_NAME_TMPFS.equals(sysTypeName))) {
                    continue;
                }
            }
View Full Code Here

        //FileSystem beans
        try {
            FileSystem[] fslist = this.sigar.getFileSystemList();
            for (int i=0; i<fslist.length; i++) {
                FileSystem fs = fslist[i];
                if (fs.getType() != FileSystem.TYPE_LOCAL_DISK) {
                    continue;
                }
                String name = fs.getDirName();
                mbean =
                    new ReflectedMBean(this.sigar, "FileSystem", name);
                mbean.setType(mbean.getType() + "Usage");
                mbean.putAttributes(fs);
                registerMBean(mbean);
View Full Code Here

    }

    public void outputFileSystem(String arg) throws SigarException {
        FileSystemMap mounts = this.proxy.getFileSystemMap();
        String name = FileCompleter.expand(arg);
        FileSystem fs = mounts.getMountPoint(name);

        if (fs != null) {
            printHeader();
            output(fs);
            return;
View Full Code Here

                if (arg.equals("-i")) {
                    this.opt_i = true;
                    continue;
                }
                String name = FileCompleter.expand(arg);
                FileSystem fs = mounts.getMountPoint(name);

                if (fs == null) {
                    throw new SigarException(arg +
                                             " No such file or directory");
                }
View Full Code Here

        String dir = System.getProperty("user.home");
        assertTrueTrace("\nMountPoint for " + dir,
                        mounts.getMountPoint(dir).getDirName());

        for (int i=0; i<fslist.length; i++) {
            FileSystem fs = fslist[i];

            assertTrue(mounts.getFileSystem(fs.getDirName()) != null);
            assertLengthTrace("DevName", fs.getDevName());
            assertLengthTrace("DirName", fs.getDirName());
            assertLengthTrace("TypeName", fs.getTypeName());
            assertLengthTrace("SysTypeName", fs.getSysTypeName());
            traceln("Options=" + fs.getOptions());

            FileSystemUsage usage;

            try {
                usage = sigar.getFileSystemUsage(fs.getDirName());
            } catch (SigarException e) {
                if (fs.getType() == FileSystem.TYPE_LOCAL_DISK) {
                    throw e;
                }
                //else ok, e.g. floppy drive on windows
                continue;
            }

            switch (fs.getType()) {
              case FileSystem.TYPE_LOCAL_DISK:
                assertGtZeroTrace("  Total", usage.getTotal());
                //possible machines have full filesystems
                assertGtEqZeroTrace("  Free", usage.getFree());
                assertGtEqZeroTrace("  Avail", usage.getAvail());
View Full Code Here

      metricRegistry.registerAll(init(new NetworkMetricSet(ifname, sigar)));
    }
    @SuppressWarnings("unchecked")
    final Set<Map.Entry<String, FileSystem>> entries = (Set<Map.Entry<String, FileSystem>>) sigar.getFileSystemMap().entrySet();
    for (Map.Entry<String, FileSystem> e : entries) {
      final FileSystem fs = e.getValue();
      if (fs.getType() == FileSystem.TYPE_LOCAL_DISK) {
        metricRegistry.registerAll(init(new FileSystemMetricSet(e.getKey(), sigar)));
      }
    }
  }
View Full Code Here

        String dir = System.getProperty("user.home");
        assertTrueTrace("\nMountPoint for " + dir,
                        mounts.getMountPoint(dir).getDirName());

        for (int i=0; i<fslist.length; i++) {
            FileSystem fs = fslist[i];

            assertTrue(mounts.getFileSystem(fs.getDirName()) != null);
            assertLengthTrace("DevName", fs.getDevName());
            assertLengthTrace("DirName", fs.getDirName());
            assertLengthTrace("TypeName", fs.getTypeName());
            assertLengthTrace("SysTypeName", fs.getSysTypeName());
            traceln("Options=" + fs.getOptions());

            FileSystemUsage usage;

            try {
                usage = sigar.getFileSystemUsage(fs.getDirName());
            } catch (SigarException e) {
                if (fs.getType() == FileSystem.TYPE_LOCAL_DISK) {
                    throw e;
                }
                //else ok, e.g. floppy drive on windows
                continue;
            }

            switch (fs.getType()) {
              case FileSystem.TYPE_LOCAL_DISK:
                assertGtZeroTrace("  Total", usage.getTotal());
                //possible machines have full filesystems
                assertGtEqZeroTrace("  Free", usage.getFree());
                assertGtEqZeroTrace("  Avail", usage.getAvail());
View Full Code Here

    }

    public void outputFileSystem(String arg) throws SigarException {
        FileSystemMap mounts = this.proxy.getFileSystemMap();
        String name = FileCompleter.expand(arg);
        FileSystem fs = mounts.getMountPoint(name);

        if (fs != null) {
            printHeader();
            output(fs);
            return;
View Full Code Here

TOP

Related Classes of org.hyperic.sigar.FileSystem

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.