allign naming with MemStats

pull/34/head
Martin Kobetic 2014-04-22 20:22:18 +00:00
parent 62592ec840
commit 4245fd9c4e
2 changed files with 32 additions and 32 deletions

View File

@ -334,28 +334,28 @@ func (b *Bucket) Stat() *BucketStat {
pageSize := b.tx.db.pageSize
b.tx.forEachPage(b.root, 0, func(p *page, depth int) {
if (p.flags & leafPageFlag) != 0 {
s.LeafPageCount++
s.KeyCount += int(p.count)
s.LeafPageN++
s.KeyN += int(p.count)
lastElement := p.leafPageElement(p.count - 1)
used := pageHeaderSize + (leafPageElementSize * int(p.count-1))
used += int(lastElement.pos + lastElement.ksize + lastElement.vsize)
s.LeafInuse += used
s.LeafOverflowPageCount += int(p.overflow)
s.LeafOverflowN += int(p.overflow)
} else if (p.flags & branchPageFlag) != 0 {
s.BranchPageCount++
s.BranchPageN++
lastElement := p.branchPageElement(p.count - 1)
used := pageHeaderSize + (branchPageElementSize * int(p.count-1))
used += int(lastElement.pos + lastElement.ksize)
s.BranchInuse += used
s.BranchOverflowPageCount += int(p.overflow)
s.BranchOverflowN += int(p.overflow)
}
if depth+1 > s.MaxDepth {
s.MaxDepth = (depth + 1)
}
})
s.BranchAlloc = (s.BranchPageCount + s.BranchOverflowPageCount) * pageSize
s.LeafAlloc = (s.LeafPageCount + s.LeafOverflowPageCount) * pageSize
s.BranchAlloc = (s.BranchPageN + s.BranchOverflowN) * pageSize
s.LeafAlloc = (s.LeafPageN + s.LeafOverflowN) * pageSize
return s
}
@ -517,14 +517,14 @@ func (b *Bucket) pageNode(id pgid) (*page, *node) {
// BucketStat represents stats on a bucket such as branch pages and leaf pages.
type BucketStat struct {
BranchPageCount int
BranchOverflowPageCount int
LeafPageCount int
LeafOverflowPageCount int
KeyCount int
MaxDepth int
BranchAlloc int
BranchInuse int
LeafAlloc int
LeafInuse int
BranchPageN int
BranchOverflowN int
LeafPageN int
LeafOverflowN int
KeyN int
MaxDepth int
BranchAlloc int
BranchInuse int
LeafAlloc int
LeafInuse int
}

View File

@ -491,11 +491,11 @@ func TestBucket_Stat(t *testing.T) {
db.View(func(tx *Tx) error {
b := tx.Bucket([]byte("woojits"))
stat := b.Stat()
assert.Equal(t, stat.BranchPageCount, 1)
assert.Equal(t, stat.BranchOverflowPageCount, 0)
assert.Equal(t, stat.LeafPageCount, 6)
assert.Equal(t, stat.LeafOverflowPageCount, 2)
assert.Equal(t, stat.KeyCount, 501)
assert.Equal(t, stat.BranchPageN, 1)
assert.Equal(t, stat.BranchOverflowN, 0)
assert.Equal(t, stat.LeafPageN, 6)
assert.Equal(t, stat.LeafOverflowN, 2)
assert.Equal(t, stat.KeyN, 501)
assert.Equal(t, stat.MaxDepth, 2)
assert.Equal(t, stat.BranchInuse, 125)
assert.Equal(t, stat.BranchAlloc, 4096)
@ -522,11 +522,11 @@ func TestBucket_Stat_Small(t *testing.T) {
db.View(func(tx *Tx) error {
b := tx.Bucket([]byte("whozawhats"))
stat := b.Stat()
assert.Equal(t, stat.BranchPageCount, 0)
assert.Equal(t, stat.BranchOverflowPageCount, 0)
assert.Equal(t, stat.LeafPageCount, 1)
assert.Equal(t, stat.LeafOverflowPageCount, 0)
assert.Equal(t, stat.KeyCount, 1)
assert.Equal(t, stat.BranchPageN, 0)
assert.Equal(t, stat.BranchOverflowN, 0)
assert.Equal(t, stat.LeafPageN, 1)
assert.Equal(t, stat.LeafOverflowN, 0)
assert.Equal(t, stat.KeyN, 1)
assert.Equal(t, stat.MaxDepth, 1)
assert.Equal(t, stat.BranchInuse, 0)
assert.Equal(t, stat.BranchAlloc, 0)
@ -558,11 +558,11 @@ func TestBucket_Stat_Large(t *testing.T) {
db.View(func(tx *Tx) error {
b := tx.Bucket([]byte("widgets"))
stat := b.Stat()
assert.Equal(t, stat.BranchPageCount, 15)
assert.Equal(t, stat.BranchOverflowPageCount, 0)
assert.Equal(t, stat.LeafPageCount, 1281)
assert.Equal(t, stat.LeafOverflowPageCount, 0)
assert.Equal(t, stat.KeyCount, 100000)
assert.Equal(t, stat.BranchPageN, 15)
assert.Equal(t, stat.BranchOverflowN, 0)
assert.Equal(t, stat.LeafPageN, 1281)
assert.Equal(t, stat.LeafOverflowN, 0)
assert.Equal(t, stat.KeyN, 100000)
assert.Equal(t, stat.MaxDepth, 3)
assert.Equal(t, stat.BranchInuse, 27289)
assert.Equal(t, stat.BranchAlloc, 61440)