xfs - ActiveState ActiveGo 1.8

Package xfs

import "github.com/prometheus/procfs/xfs"

Overview ▾

Package xfs provides access to statistics exposed by the XFS filesystem.

type AttributeOperationStats

AttributeOperationStats contains statistics regarding manipulation of XFS extended file attributes.

type AttributeOperationStats struct {
    Get    uint32
    Set    uint32
    Remove uint32
    List   uint32

type BTreeStats

BTreeStats contains statistics regarding an XFS internal B-tree.

type BTreeStats struct {
    Lookups         uint32
    Compares        uint32
    RecordsInserted uint32
    RecordsDeleted  uint32

type BlockMappingStats

BlockMappingStats contains statistics regarding XFS block maps.

type BlockMappingStats struct {
    Reads                uint32
    Writes               uint32
    Unmaps               uint32
    ExtentListInsertions uint32
    ExtentListDeletions  uint32
    ExtentListLookups    uint32
    ExtentListCompares   uint32

type BufferStats

BufferStats contains statistics regarding XFS read/write I/O buffers.

type BufferStats struct {
    Get             uint32
    Create          uint32
    GetLocked       uint32
    GetLockedWaited uint32
    BusyLocked      uint32
    MissLocked      uint32
    PageRetries     uint32
    PageFound       uint32
    GetRead         uint32

type DirectoryOperationStats

DirectoryOperationStats contains statistics regarding XFS directory entries.

type DirectoryOperationStats struct {
    Lookups  uint32
    Creates  uint32
    Removes  uint32
    Getdents uint32

type ExtendedPrecisionStats

ExtendedPrecisionStats contains high precision counters used to track the total number of bytes read, written, or flushed, during XFS operations.

type ExtendedPrecisionStats struct {
    FlushBytes uint64
    WriteBytes uint64
    ReadBytes  uint64

type ExtentAllocationStats

ExtentAllocationStats contains statistics regarding XFS extent allocations.

type ExtentAllocationStats struct {
    ExtentsAllocated uint32
    BlocksAllocated  uint32
    ExtentsFreed     uint32
    BlocksFreed      uint32

type InodeClusteringStats

InodeClusteringStats contains statistics regarding XFS inode clustering operations.

type InodeClusteringStats struct {
    Iflush     uint32
    Flush      uint32
    FlushInode uint32

type InodeOperationStats

InodeOperationStats contains statistics regarding XFS inode operations.

type InodeOperationStats struct {
    Attempts        uint32
    Found           uint32
    Recycle         uint32
    Missed          uint32
    Duplicate       uint32
    Reclaims        uint32
    AttributeChange uint32

type LogOperationStats

LogOperationStats contains statistics regarding the XFS log buffer.

type LogOperationStats struct {
    Writes            uint32
    Blocks            uint32
    NoInternalBuffers uint32
    Force             uint32
    ForceSleep        uint32

type ReadWriteStats

ReadWriteStats contains statistics regarding the number of read and write system calls for XFS filesystems.

type ReadWriteStats struct {
    Read  uint32
    Write uint32

type Stats

Stats contains XFS filesystem runtime statistics, parsed from /proc/fs/xfs/stat.

The names and meanings of each statistic were taken from http://xfs.org/index.php/Runtime_Stats and xfs_stats.h in the Linux kernel source. Most counters are uint32s (same data types used in xfs_stats.h), but some of the "extended precision stats" are uint64s.

type Stats struct {
    // The name of the filesystem used to source these statistics.
    // If empty, this indicates aggregated statistics for all XFS
    // filesystems on the host.
    Name string

    ExtentAllocation   ExtentAllocationStats
    AllocationBTree    BTreeStats
    BlockMapping       BlockMappingStats
    BlockMapBTree      BTreeStats
    DirectoryOperation DirectoryOperationStats
    Transaction        TransactionStats
    InodeOperation     InodeOperationStats
    LogOperation       LogOperationStats
    ReadWrite          ReadWriteStats
    AttributeOperation AttributeOperationStats
    InodeClustering    InodeClusteringStats
    Vnode              VnodeStats
    Buffer             BufferStats
    ExtendedPrecision  ExtendedPrecisionStats

func ParseStats

func ParseStats(r io.Reader) (*Stats, error)

ParseStats parses a Stats from an input io.Reader, using the format found in /proc/fs/xfs/stat.

type TransactionStats

TransactionStats contains statistics regarding XFS metadata transactions.

type TransactionStats struct {
    Sync  uint32
    Async uint32
    Empty uint32

type VnodeStats

VnodeStats contains statistics regarding XFS vnode operations.

type VnodeStats struct {
    Active   uint32
    Allocate uint32
    Get      uint32
    Hold     uint32
    Release  uint32
    Reclaim  uint32
    Remove   uint32
    Free     uint32