Package org.hyperic.sigar

Examples of org.hyperic.sigar.FileSystemUsage


  }

  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);
            disk.setDiskWriteRate((usage.getDiskWriteBytes() - origWrite) / timePeriod);
          }

          status.getDiskInfos().add(disk);

        }
View Full Code Here


      // Filesystem Utilization
      fs = sigar.getFileSystemList();
      JSONArray fsList = new JSONArray();
      for (int i = 0; i < fs.length; i++) {
        FileSystemUsage usage = sigar.getFileSystemUsage(fs[i].getDirName());
        JSONObject fsMap = new JSONObject();
        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())) {
          JSONObject 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.putAll(fs[i].toMap());
          fsList.add(deltaMap);
          skip = false;
        } else {
          fsList.add(fsMap);
View Full Code Here

        printf(items);
    }

    public void output(FileSystem fs) throws SigarException {
        FileSystemUsage usage =
            this.sigar.getFileSystemUsage(fs.getDirName());

        ArrayList items = new ArrayList();

        items.add(fs.getDevName());
        items.add(fs.getDirName());
        items.add(String.valueOf(usage.getDiskReads()));
        items.add(String.valueOf(usage.getDiskWrites()));

        if (usage.getDiskReadBytes() == Sigar.FIELD_NOTIMPL) {
            items.add("-");
            items.add("-");
        }
        else {
            items.add(Sigar.formatSize(usage.getDiskReadBytes()));
            items.add(Sigar.formatSize(usage.getDiskWriteBytes()));
        }

        if (usage.getDiskQueue() == Sigar.FIELD_NOTIMPL) {
            items.add("-");
        }
        else {
            items.add(svctm(usage.getDiskQueue()));
        }
        if (usage.getDiskServiceTime() == Sigar.FIELD_NOTIMPL) {
            items.add("-");
        }
        else {
            items.add(svctm(usage.getDiskServiceTime()));
        }

        printf(items);
    }
View Full Code Here

    public void output(FileSystem fs) throws SigarException {
        long used, avail, total, pct;

        try {
            FileSystemUsage usage;
            if (fs instanceof NfsFileSystem) {
                NfsFileSystem nfs = (NfsFileSystem)fs;
                if (!nfs.ping()) {
                    println(nfs.getUnreachableMessage());
                    return;
                }
            }
            usage = this.sigar.getFileSystemUsage(fs.getDirName());
            if (this.opt_i) {
                used  = usage.getFiles() - usage.getFreeFiles();
                avail = usage.getFreeFiles();
                total = usage.getFiles();
                if (total == 0) {
                    pct = 0;
                }
                else {
                    long u100 = used * 100;
                    pct = u100 / total +
                        ((u100 % total != 0) ? 1 : 0);
                }
            }
            else {
                used = usage.getTotal() - usage.getFree();
                avail = usage.getAvail();
                total = usage.getTotal();

                pct = (long)(usage.getUsePercent() * 100);
            }
        } catch (SigarException e) {
            //e.g. on win32 D:\ fails with "Device not ready"
            //if there is no cd in the drive.
            used = avail = total = pct = 0;
View Full Code Here

            FileSystem[] fsList = sigar.getFileSystemList();
            for (FileSystem fs : fsList) {
                // make sure it is a hard disk
                if (fs.getType() == FileSystem.TYPE_LOCAL_DISK) {
                    IOInformationObject temp = new IOInformationObject();
                    FileSystemUsage usage = null;
                    try {
                        usage = sigar.getFileSystemUsage(fs.getDirName());

                        // Color the filesystem.
                        temp.setColor(colors[counter % colors.length]);

                        // name related
                        temp.setFilesystem(fs.getDevName());
                        temp.setMountOn(fs.getDirName());

                        // speed related
                        Long[] fsWrites = (writes.size() > counter)
                                ? writes.get(counter) : new Long[]{0L, 0L};

                        long numOfWrites = usage.getDiskWrites();

                        if (fsWrites[1] != 0) {
                            fsWrites[0] = numOfWrites - fsWrites[1];
                        }

                        fsWrites[1] = numOfWrites;

                        if (writes.size() > counter) {
                            writes.set(counter, fsWrites);
                        } else {
                            writes.add(fsWrites);
                        }

                        Long[] fsReads = (reads.size() > counter)
                                ? reads.get(counter) : new Long[]{0L, 0L};

                        long numOfReads = usage.getDiskReads();

                        if (fsReads[1] != 0) {
                            fsReads[0] = numOfReads - fsReads[1];
                        }

                        fsReads[1] = numOfReads;

                        if (reads.size() > counter) {
                            reads.set(counter, fsReads);
                        } else {
                            reads.add(fsReads);
                        }

                        temp.setReads(numOfReads);
                        temp.setWrites(numOfWrites);
                        temp.setrBytes(usage.getDiskReadBytes());
                        temp.setwBytes(usage.getDiskWriteBytes());

                        // space related
                        temp.setAvailable(usage.getAvail() * 1000);
                        temp.setTotal(usage.getTotal() * 1000);
                        temp.setUsed(usage.getUsed() * 1000);
                        temp.setUsedPercent(usage.getUsePercent());

                        // misc
                        temp.setDiskQueue(usage.getDiskQueue());
                        temp.setDiskServiceTime(usage.getDiskServiceTime());

                        ioList.add(temp);
                    } catch (SigarException ex) {
                        Logger.getLogger(IOInformation.class.getName()).log(
                                Level.SEVERE, null, ex);
View Full Code Here

            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());
                assertGtEqZeroTrace("   Used", usage.getUsed());
                double usePercent = usage.getUsePercent() * 100;
                traceln("  Usage=" + usePercent + "%");
                assertTrue(usePercent <= 100.0);
              default:
                traceln("  DiskReads=" + usage.getDiskReads());
                traceln("  DiskWrites=" + usage.getDiskWrites());
            }
        }

        try {
            sigar.getFileSystemUsage("T O T A L L Y B O G U S");
View Full Code Here

      for (FileSystem fs : fileSystems) {
        String dirName = fs.getDirName();

        if (fs.getType() == FileSystem.TYPE_LOCAL_DISK && m_envConfig.getDiskList().contains(dirName)) {
          Map<String, Double> values = new HashMap<String, Double>();
          FileSystemUsage usage = m_sigar.getFileSystemUsage(dirName);
          double usedPerc = usage.getUsePercent();
          double inodePerc = 1.0 * usage.getFreeFiles() / usage.getFiles();

          values.put(buildSystemId(dirName + "-usage"), usedPerc);
          values.put(buildSystemId(dirName + "-freeInodes"), inodePerc);
          entities.addAll(buildEntities(values, AVG_TYPE));

          FileSystemUsage preUsage = m_fileSystemUsageMap.get(dirName);

          if (preUsage != null) {
            double read = usage.getDiskReadBytes() - preUsage.getDiskReadBytes();
            double write = usage.getDiskWriteBytes() - preUsage.getDiskWriteBytes();

            values.clear();
            values.put(buildSystemId(dirName + "-read"), read);
            values.put(buildSystemId(dirName + "-write"), write);
            entities.addAll(buildEntities(values, SUM_TYPE));
View Full Code Here

            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());
                assertGtEqZeroTrace("   Used", usage.getUsed());
                double usePercent = usage.getUsePercent() * 100;
                traceln("  Usage=" + usePercent + "%");
                assertTrue(usePercent <= 100.0);
              default:
                traceln("  DiskReads=" + usage.getDiskReads());
                traceln("  DiskWrites=" + usage.getDiskWrites());
            }
        }

        try {
            sigar.getFileSystemUsage("T O T A L L Y B O G U S");
View Full Code Here

      // Filesystem Utilization
      fs = sigar.getFileSystemList();
      JSONArray fsList = new JSONArray();
      for (int i = 0; i < fs.length; i++) {
        FileSystemUsage usage = sigar.getFileSystemUsage(fs[i].getDirName());
        JSONObject fsMap = new JSONObject();
        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())) {
          JSONObject 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.putAll(fs[i].toMap());
          fsList.add(deltaMap);
          skip = false;
        } else {
          fsList.add(fsMap);
View Full Code Here

        printf(items);
    }

    public void output(FileSystem fs) throws SigarException {
        FileSystemUsage usage =
            this.sigar.getFileSystemUsage(fs.getDirName());

        ArrayList items = new ArrayList();

        items.add(fs.getDevName());
        items.add(fs.getDirName());
        items.add(String.valueOf(usage.getDiskReads()));
        items.add(String.valueOf(usage.getDiskWrites()));

        if (usage.getDiskReadBytes() == Sigar.FIELD_NOTIMPL) {
            items.add("-");
            items.add("-");
        }
        else {
            items.add(Sigar.formatSize(usage.getDiskReadBytes()));
            items.add(Sigar.formatSize(usage.getDiskWriteBytes()));
        }

        if (usage.getDiskQueue() == Sigar.FIELD_NOTIMPL) {
            items.add("-");
        }
        else {
            items.add(svctm(usage.getDiskQueue()));
        }
        if (usage.getDiskServiceTime() == Sigar.FIELD_NOTIMPL) {
            items.add("-");
        }
        else {
            items.add(svctm(usage.getDiskServiceTime()));
        }

        printf(items);
    }
View Full Code Here

TOP

Related Classes of org.hyperic.sigar.FileSystemUsage

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.