gopsutil: github.com/shirou/gopsutil/disk Index | Files

package disk

import "github.com/shirou/gopsutil/disk"

Index

Package Files

disk.go disk_linux.go disk_unix.go

Constants

const (
    // man statfs
    ADFS_SUPER_MAGIC      = 0xadf5
    AFFS_SUPER_MAGIC      = 0xADFF
    BDEVFS_MAGIC          = 0x62646576
    BEFS_SUPER_MAGIC      = 0x42465331
    BFS_MAGIC             = 0x1BADFACE
    BINFMTFS_MAGIC        = 0x42494e4d
    BTRFS_SUPER_MAGIC     = 0x9123683E
    CGROUP_SUPER_MAGIC    = 0x27e0eb
    CIFS_MAGIC_NUMBER     = 0xFF534D42
    CODA_SUPER_MAGIC      = 0x73757245
    COH_SUPER_MAGIC       = 0x012FF7B7
    CRAMFS_MAGIC          = 0x28cd3d45
    DEBUGFS_MAGIC         = 0x64626720
    DEVFS_SUPER_MAGIC     = 0x1373
    DEVPTS_SUPER_MAGIC    = 0x1cd1
    EFIVARFS_MAGIC        = 0xde5e81e4
    EFS_SUPER_MAGIC       = 0x00414A53
    EXT_SUPER_MAGIC       = 0x137D
    EXT2_OLD_SUPER_MAGIC  = 0xEF51
    EXT2_SUPER_MAGIC      = 0xEF53
    EXT3_SUPER_MAGIC      = 0xEF53
    EXT4_SUPER_MAGIC      = 0xEF53
    FUSE_SUPER_MAGIC      = 0x65735546
    FUTEXFS_SUPER_MAGIC   = 0xBAD1DEA
    HFS_SUPER_MAGIC       = 0x4244
    HOSTFS_SUPER_MAGIC    = 0x00c0ffee
    HPFS_SUPER_MAGIC      = 0xF995E849
    HUGETLBFS_MAGIC       = 0x958458f6
    ISOFS_SUPER_MAGIC     = 0x9660
    JFFS2_SUPER_MAGIC     = 0x72b6
    JFS_SUPER_MAGIC       = 0x3153464a
    MINIX_SUPER_MAGIC     = 0x137F /* orig. minix */
    MINIX_SUPER_MAGIC2    = 0x138F /* 30 char minix */
    MINIX2_SUPER_MAGIC    = 0x2468 /* minix V2 */
    MINIX2_SUPER_MAGIC2   = 0x2478 /* minix V2, 30 char names */
    MINIX3_SUPER_MAGIC    = 0x4d5a /* minix V3 fs, 60 char names */
    MQUEUE_MAGIC          = 0x19800202
    MSDOS_SUPER_MAGIC     = 0x4d44
    NCP_SUPER_MAGIC       = 0x564c
    NFS_SUPER_MAGIC       = 0x6969
    NILFS_SUPER_MAGIC     = 0x3434
    NTFS_SB_MAGIC         = 0x5346544e
    OCFS2_SUPER_MAGIC     = 0x7461636f
    OPENPROM_SUPER_MAGIC  = 0x9fa1
    PIPEFS_MAGIC          = 0x50495045
    PROC_SUPER_MAGIC      = 0x9fa0
    PSTOREFS_MAGIC        = 0x6165676C
    QNX4_SUPER_MAGIC      = 0x002f
    QNX6_SUPER_MAGIC      = 0x68191122
    RAMFS_MAGIC           = 0x858458f6
    REISERFS_SUPER_MAGIC  = 0x52654973
    ROMFS_MAGIC           = 0x7275
    SELINUX_MAGIC         = 0xf97cff8c
    SMACK_MAGIC           = 0x43415d53
    SMB_SUPER_MAGIC       = 0x517B
    SOCKFS_MAGIC          = 0x534F434B
    SQUASHFS_MAGIC        = 0x73717368
    SYSFS_MAGIC           = 0x62656572
    SYSV2_SUPER_MAGIC     = 0x012FF7B6
    SYSV4_SUPER_MAGIC     = 0x012FF7B5
    TMPFS_MAGIC           = 0x01021994
    UDF_SUPER_MAGIC       = 0x15013346
    UFS_MAGIC             = 0x00011954
    USBDEVICE_SUPER_MAGIC = 0x9fa2
    V9FS_MAGIC            = 0x01021997
    VXFS_SUPER_MAGIC      = 0xa501FCF5
    XENFS_SUPER_MAGIC     = 0xabba1974
    XENIX_SUPER_MAGIC     = 0x012FF7B4
    XFS_SUPER_MAGIC       = 0x58465342

    AFS_SUPER_MAGIC             = 0x5346414F
    AUFS_SUPER_MAGIC            = 0x61756673
    ANON_INODE_FS_SUPER_MAGIC   = 0x09041934
    CEPH_SUPER_MAGIC            = 0x00C36400
    ECRYPTFS_SUPER_MAGIC        = 0xF15F
    FAT_SUPER_MAGIC             = 0x4006
    FHGFS_SUPER_MAGIC           = 0x19830326
    FUSEBLK_SUPER_MAGIC         = 0x65735546
    FUSECTL_SUPER_MAGIC         = 0x65735543
    GFS_SUPER_MAGIC             = 0x1161970
    GPFS_SUPER_MAGIC            = 0x47504653
    MTD_INODE_FS_SUPER_MAGIC    = 0x11307854
    INOTIFYFS_SUPER_MAGIC       = 0x2BAD1DEA
    ISOFS_R_WIN_SUPER_MAGIC     = 0x4004
    ISOFS_WIN_SUPER_MAGIC       = 0x4000
    JFFS_SUPER_MAGIC            = 0x07C0
    KAFS_SUPER_MAGIC            = 0x6B414653
    LUSTRE_SUPER_MAGIC          = 0x0BD00BD0
    NFSD_SUPER_MAGIC            = 0x6E667364
    PANFS_SUPER_MAGIC           = 0xAAD7AAEA
    RPC_PIPEFS_SUPER_MAGIC      = 0x67596969
    SECURITYFS_SUPER_MAGIC      = 0x73636673
    UFS_BYTESWAPPED_SUPER_MAGIC = 0x54190100
    VMHGFS_SUPER_MAGIC          = 0xBACBACBC
    VZFS_SUPER_MAGIC            = 0x565A4653
    ZFS_SUPER_MAGIC             = 0x2FC12FC1
)
const (
    SectorSize = 512
)

func GetDiskSerialNumber Uses

func GetDiskSerialNumber(name string) string

GetDiskSerialNumber returns Serial Number of given device or empty string on error. Name of device is expected, eg. /dev/sda

func IOCounters Uses

func IOCounters(names ...string) (map[string]IOCountersStat, error)

func Partitions Uses

func Partitions(all bool) ([]PartitionStat, error)

Partitions returns disk partitions. If all is false, returns physical devices only (e.g. hard disks, cd-rom drives, USB keys) and ignore all others (e.g. memory partitions such as /dev/shm)

type IOCountersStat Uses

type IOCountersStat struct {
    ReadCount        uint64 `json:"readCount"`
    MergedReadCount  uint64 `json:"mergedReadCount"`
    WriteCount       uint64 `json:"writeCount"`
    MergedWriteCount uint64 `json:"mergedWriteCount"`
    ReadBytes        uint64 `json:"readBytes"`
    WriteBytes       uint64 `json:"writeBytes"`
    ReadTime         uint64 `json:"readTime"`
    WriteTime        uint64 `json:"writeTime"`
    IopsInProgress   uint64 `json:"iopsInProgress"`
    IoTime           uint64 `json:"ioTime"`
    WeightedIO       uint64 `json:"weightedIO"`
    Name             string `json:"name"`
    SerialNumber     string `json:"serialNumber"`
}

func (IOCountersStat) String Uses

func (d IOCountersStat) String() string

type PartitionStat Uses

type PartitionStat struct {
    Device     string `json:"device"`
    Mountpoint string `json:"mountpoint"`
    Fstype     string `json:"fstype"`
    Opts       string `json:"opts"`
}

func (PartitionStat) String Uses

func (d PartitionStat) String() string

type UsageStat Uses

type UsageStat struct {
    Path              string  `json:"path"`
    Fstype            string  `json:"fstype"`
    Total             uint64  `json:"total"`
    Free              uint64  `json:"free"`
    Used              uint64  `json:"used"`
    UsedPercent       float64 `json:"usedPercent"`
    InodesTotal       uint64  `json:"inodesTotal"`
    InodesUsed        uint64  `json:"inodesUsed"`
    InodesFree        uint64  `json:"inodesFree"`
    InodesUsedPercent float64 `json:"inodesUsedPercent"`
}

func Usage Uses

func Usage(path string) (*UsageStat, error)

Usage returns a file system usage. path is a filessytem path such as "/", not device file path like "/dev/vda1". If you want to use a return value of disk.Partitions, use "Mountpoint" not "Device".

func (UsageStat) String Uses

func (d UsageStat) String() string

Package disk imports 7 packages (graph) and is imported by 100 packages. Updated 2017-10-11. Refresh now. Tools for package owners.