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,11 +517,11 @@ 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
BranchPageN int
BranchOverflowN int
LeafPageN int
LeafOverflowN int
KeyN int
MaxDepth int
BranchAlloc int
BranchInuse 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)