Class LinuxHWDiskStore

    • Field Detail

      • LOG

        private static final org.slf4j.Logger LOG
      • LOGICAL_VOLUME_GROUP

        private static final java.lang.String LOGICAL_VOLUME_GROUP
        See Also:
        Constant Field Values
      • UDEV_STAT_ORDERS

        private static final int[] UDEV_STAT_ORDERS
      • UDEV_STAT_LENGTH

        private static final int UDEV_STAT_LENGTH
      • reads

        private long reads
      • readBytes

        private long readBytes
      • writes

        private long writes
      • writeBytes

        private long writeBytes
      • currentQueueLength

        private long currentQueueLength
      • transferTime

        private long transferTime
      • timeStamp

        private long timeStamp
      • partitionList

        private java.util.List<HWPartition> partitionList
    • Constructor Detail

      • LinuxHWDiskStore

        private LinuxHWDiskStore​(java.lang.String name,
                                 java.lang.String model,
                                 java.lang.String serial,
                                 long size)
    • Method Detail

      • getReads

        public long getReads()
        Description copied from interface: HWDiskStore
        The number of reads from the disk
        Returns:
        the reads
      • getReadBytes

        public long getReadBytes()
        Description copied from interface: HWDiskStore
        The number of bytes read from the disk
        Returns:
        the bytes read
      • getWrites

        public long getWrites()
        Description copied from interface: HWDiskStore
        The number of writes to the disk
        Returns:
        the writes
      • getWriteBytes

        public long getWriteBytes()
        Description copied from interface: HWDiskStore
        The number of bytes written to the disk
        Returns:
        the bytes written
      • getCurrentQueueLength

        public long getCurrentQueueLength()
        Description copied from interface: HWDiskStore
        The length of the disk queue (#I/O's in progress). Includes I/O requests that have been issued to the device driver but have not yet completed. Not supported on macOS.
        Returns:
        the current disk queue length
      • getTransferTime

        public long getTransferTime()
        Description copied from interface: HWDiskStore
        The time spent reading or writing, in milliseconds.
        Returns:
        the transfer time
      • getTimeStamp

        public long getTimeStamp()
        Description copied from interface: HWDiskStore
        The time this disk's statistics were updated.
        Returns:
        the timeStamp, in milliseconds since the epoch.
      • getPartitions

        public java.util.List<HWPartition> getPartitions()
        Description copied from interface: HWDiskStore
        The partitions on this disk.
        Returns:
        an UnmodifiableList of the partitions on this drive.
      • getDisks

        public static java.util.List<HWDiskStore> getDisks()
        Gets the disks on this machine
        Returns:
        a list of HWDiskStore objects representing the disks
      • updateAttributes

        public boolean updateAttributes()
        Description copied from interface: HWDiskStore
        Make a best effort to update all the statistics about the drive without needing to recreate the drive list. This method provides for more frequent periodic updates of individual drive statistics but may be less efficient to use if updating all drives. It will not detect if a removable drive has been removed and replaced by a different drive in between method calls.
        Returns:
        True if the update was (probably) successful, false if the disk was not found
      • readMountsMap

        private static java.util.Map<java.lang.String,​java.lang.String> readMountsMap()
      • computeDiskStats

        private static void computeDiskStats​(LinuxHWDiskStore store,
                                             java.lang.String devstat)
      • getPartitionNameForDmDevice

        private static java.lang.String getPartitionNameForDmDevice​(java.lang.String vgName,
                                                                    java.lang.String lvName)
      • getMountPointOfDmDevice

        private static java.lang.String getMountPointOfDmDevice​(java.lang.String vgName,
                                                                java.lang.String lvName)
      • getDependentNamesFromHoldersDirectory

        private static java.lang.String getDependentNamesFromHoldersDirectory​(java.lang.String sysPath)