Этот коммит содержится в:
Christopher Speller
2017-06-21 19:06:17 -07:00
коммит произвёл Corey Hulen
родитель 6b39c308d8
Коммит 42f28ab8e3
714 изменённых файлов: 54430 добавлений и 51180 удалений

1
vendor/github.com/prometheus/procfs/sysfs/.gitignore сгенерированный поставляемый Обычный файл
Просмотреть файл

@@ -0,0 +1 @@
fixtures/

Двоичные данные
vendor/github.com/prometheus/procfs/sysfs/fixtures.tar.gz сгенерированный поставляемый Обычный файл

Двоичный файл не отображается.

1
vendor/github.com/prometheus/procfs/sysfs/fixtures/fs/xfs/sda1/stats/stats сгенерированный поставляемый
Просмотреть файл

@@ -1 +0,0 @@
extent_alloc 1 0 0 0

1
vendor/github.com/prometheus/procfs/sysfs/fixtures/fs/xfs/sdb1/stats/stats сгенерированный поставляемый
Просмотреть файл

@@ -1 +0,0 @@
extent_alloc 2 0 0 0

26
vendor/github.com/prometheus/procfs/sysfs/fs.go сгенерированный поставляемый
Просмотреть файл

@@ -18,6 +18,7 @@ import (
"os"
"path/filepath"
"github.com/prometheus/procfs/bcache"
"github.com/prometheus/procfs/xfs"
)
@@ -80,3 +81,28 @@ func (fs FS) XFSStats() ([]*xfs.Stats, error) {
return stats, nil
}
// BcacheStats retrieves bcache runtime statistics for each bcache.
func (fs FS) BcacheStats() ([]*bcache.Stats, error) {
matches, err := filepath.Glob(fs.Path("fs/bcache/*-*"))
if err != nil {
return nil, err
}
stats := make([]*bcache.Stats, 0, len(matches))
for _, uuidPath := range matches {
// "*-*" in glob above indicates the name of the bcache.
name := filepath.Base(uuidPath)
// stats
s, err := bcache.GetStats(uuidPath)
if err != nil {
return nil, err
}
s.Name = name
stats = append(stats, s)
}
return stats, nil
}

42
vendor/github.com/prometheus/procfs/sysfs/fs_test.go сгенерированный поставляемый
Просмотреть файл

@@ -64,3 +64,45 @@ func TestFSXFSStats(t *testing.T) {
}
}
}
func TestFSBcacheStats(t *testing.T) {
stats, err := FS("fixtures").BcacheStats()
if err != nil {
t.Fatalf("failed to parse bcache stats: %v", err)
}
tests := []struct {
name string
bdevs int
caches int
}{
{
name: "deaddd54-c735-46d5-868e-f331c5fd7c74",
bdevs: 1,
caches: 1,
},
}
const expect = 1
if l := len(stats); l != expect {
t.Fatalf("unexpected number of bcache stats: %d", l)
}
if l := len(tests); l != expect {
t.Fatalf("unexpected number of tests: %d", l)
}
for i, tt := range tests {
if want, got := tt.name, stats[i].Name; want != got {
t.Errorf("unexpected stats name:\nwant: %q\nhave: %q", want, got)
}
if want, got := tt.bdevs, len(stats[i].Bdevs); want != got {
t.Errorf("unexpected value allocated:\nwant: %d\nhave: %d", want, got)
}
if want, got := tt.caches, len(stats[i].Caches); want != got {
t.Errorf("unexpected value allocated:\nwant: %d\nhave: %d", want, got)
}
}
}