bcache - ActiveState ActiveGo 1.8

Package bcache

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

Overview ▾

Package bcache provides access to statistics exposed by the bcache (Linux block cache).

type BcacheStats

BcacheStats contains statistics tied to a bcache ID.

type BcacheStats struct {
    AverageKeySize        uint64
    BtreeCacheSize        uint64
    CacheAvailablePercent uint64
    Congested             uint64
    RootUsagePercent      uint64
    TreeDepth             uint64
    Internal              InternalStats
    FiveMin               PeriodStats
    Total                 PeriodStats

type BdevStats

BdevStats contains statistics for one backing device.

type BdevStats struct {
    Name      string
    DirtyData uint64
    FiveMin   PeriodStats
    Total     PeriodStats

type CacheStats

CacheStats contains statistics for one cache device.

type CacheStats struct {
    Name            string
    IOErrors        uint64
    MetadataWritten uint64
    Written         uint64
    Priority        PriorityStats

type InternalStats

InternalStats contains internal bcache statistics.

type InternalStats struct {
    ActiveJournalEntries                uint64
    BtreeNodes                          uint64
    BtreeReadAverageDurationNanoSeconds uint64
    CacheReadRaces                      uint64

type PeriodStats

PeriodStats contains statistics for a time period (5 min or total).

type PeriodStats struct {
    Bypassed            uint64
    CacheBypassHits     uint64
    CacheBypassMisses   uint64
    CacheHits           uint64
    CacheMissCollisions uint64
    CacheMisses         uint64
    CacheReadaheads     uint64

type PriorityStats

PriorityStats contains statistics from the priority_stats file.

type PriorityStats struct {
    UnusedPercent   uint64
    MetadataPercent uint64

type Stats

Stats contains bcache runtime statistics, parsed from /sys/fs/bcache/.

The names and meanings of each statistic were taken from bcache.txt and files in drivers/md/bcache in the Linux kernel source. Counters are uint64 (in-kernel counters are mostly unsigned long).

type Stats struct {
    // The name of the bcache used to source these statistics.
    Name   string
    Bcache BcacheStats
    Bdevs  []BdevStats
    Caches []CacheStats

func GetStats

func GetStats(uuidPath string) (*Stats, error)

GetStats collects from sysfs files data tied to one bcache ID.