aboutsummaryrefslogtreecommitdiff
path: root/node.go
diff options
context:
space:
mode:
authorBen Johnson <benbjohnson@yahoo.com>2014-04-02 15:36:53 -0600
committerBen Johnson <benbjohnson@yahoo.com>2014-04-02 16:03:03 -0600
commit686b6a334173c40ae91d3cdd7d7d759bf8851df6 (patch)
treeba4d50edab37175bd1f1958e458257b50f27fe90 /node.go
parentMerge pull request #111 from benbjohnson/flock (diff)
downloaddedo-686b6a334173c40ae91d3cdd7d7d759bf8851df6.tar.gz
dedo-686b6a334173c40ae91d3cdd7d7d759bf8851df6.tar.xz
Add performance counters.
This commit adds performance counters for each transaction which are rolled up to the database level on each commit/rollback. Counters are meant to be a very fast way to track what is going on in the database. A few timers are also added in areas where the time.Now() overhead is not noticible. The DB.Stat() function is now deprecated since the `bolt` CLI now performs similar functions. Fixes #108.
Diffstat (limited to 'node.go')
-rw-r--r--node.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/node.go b/node.go
index 0a4c7af..709c0ca 100644
--- a/node.go
+++ b/node.go
@@ -233,6 +233,9 @@ func (n *node) rebalance() {
}
n.unbalanced = false
+ // Update statistics.
+ n.tx.stats.Rebalance++
+
// Ignore if node is above threshold (25%) and has enough keys.
var threshold = n.tx.db.pageSize / 4
if n.size() > threshold && len(n.inodes) > n.minKeys() {