Commit Graph

281 Commits (25fea2fd9f78434299036fe3a23c65dc9613f0bb)

Author SHA1 Message Date
Ben Johnson 25fea2fd9f Refactor split/spill. 2014-05-03 16:21:28 -06:00
Ben Johnson a18135e055 Merge pull request #147 from benbjohnson/stats
Add streaming stats to bolt bench.
2014-05-01 15:13:05 -06:00
Ben Johnson d48c4a20be Add streaming stats to bolt bench.
This commit adds -stats-interval to the 'bolt bench' utility. By setting this argument
to an interval greater than 0s, the benchmark tool will output stats as streaming JSON.
This data can, in turn, be graphed to understand performance over time.
2014-04-30 12:27:54 -06:00
Ben Johnson 09914968ba Merge pull request #146 from benbjohnson/bench-batch
Add --batch-size to 'bolt bench'
2014-04-30 12:01:56 -06:00
Ben Johnson 2bfb1b3db5 Merge branch 'bench-batch' into moar_bench
Conflicts:
	cmd/bolt/bench.go
2014-04-30 12:00:39 -06:00
Ben Johnson 6854ca415f Remove bolt bench -stat. 2014-04-30 11:55:08 -06:00
Ben Johnson cabb44e01f Add --batch-size to 'bolt bench'.
This commit adds a --batch-size CLI argument to the 'bolt bench' tool.
This argument will insert into Bolt in smaller batches which is a more
typical use case.

/cc @snormore
2014-04-29 12:36:42 -06:00
Ben Johnson b6135c2c95 Merge pull request #145 from benbjohnson/tx-cursor
Add Tx.Cursor().
2014-04-29 09:56:10 -06:00
Ben Johnson 0dfb71267c Merge pull request #144 from benbjohnson/copy-key
Copy key on Put() and CreateBucket().
2014-04-29 09:34:38 -06:00
Ben Johnson e3957cd0de Add Tx.Cursor().
This commit adds the Cursor() function to Tx. This allows iteration on the root bucket
in a similar way to iteration on other buckets.

Fixes #141.
2014-04-29 07:25:14 -06:00
Ben Johnson e3ed193646 Copy key on Put() and CreateBucket().
This commit makes a copy of the key byte slice before inserting into the database.
This fixes the issue where users may reuse byte buffers which can corrupt the database.

Fixes #143.
2014-04-29 06:54:01 -06:00
Ben Johnson 46d83eb140 Merge pull request #142 from extemporalgenome/Printf-byteslice
Printf's %s and %q already do the right thing with []byte
2014-04-25 16:13:24 -06:00
Kevin Gillette 1879d88c43 Printf's %s and %q do the right thing with []byte; removed string conversion. 2014-04-25 15:38:42 -06:00
Martin Kobetic d9e7e0257b add -stats and -batch-size support to bench cmd 2014-04-24 16:30:39 -04:00
Ben Johnson 5524825919 Merge pull request #139 from Shopify/moar_c_cursor
More C cursor improvements
2014-04-23 12:05:53 -06:00
Martin Kobetic 5612ea7694 fix empty byte vs nil test problems 2014-04-23 16:54:41 +00:00
Martin Kobetic 181eb96dc7 add test for empty bucket handling 2014-04-23 15:36:41 +00:00
Martin Kobetic ded351df92 another test case and minor cleanup 2014-04-23 14:25:25 +00:00
Martin Kobetic 9d095430b4 fix deep search 2014-04-23 14:00:53 +00:00
Martin Kobetic 9cc516f8e2 add deep tree tests, some cleanup 2014-04-22 21:20:49 +00:00
Ben Johnson 775e2d6cca Merge pull request #137 from benbjohnson/bucket-stats
Change to BucketStats and Bucket.Stats().
2014-04-22 15:17:09 -06:00
Ben Johnson 0567eea5f5 Change to BucketStats and Bucket.Stats().
This commit pluralizes the BucketStat type to be BucketStats. This makes it
more consistent with the other Stats() calls. This commit also changes the
return type to a struct instead of a pointer.

Finally, this commit adds documentation to the fields of BucketStats.
2014-04-22 15:11:49 -06:00
Ben Johnson 7587e61802 Merge pull request #136 from Shopify/stats_space
Add space stats to the bucket stats
2014-04-22 15:03:07 -06:00
Martin Kobetic a02ddf402b rename MaxDepth to Depth 2014-04-22 20:32:09 +00:00
Martin Kobetic 03cb096230 skip space assertions for incompatible page size 2014-04-22 20:29:37 +00:00
Martin Kobetic 4245fd9c4e allign naming with MemStats 2014-04-22 20:22:18 +00:00
Martin Kobetic 62592ec840 moar tweaks 2014-04-22 20:18:09 +00:00
Martin Kobetic 9c1b768185 update stats test 2014-04-22 18:34:34 +00:00
Martin Kobetic 382ccc2746 add Used/Free Leaf/Branch bucket stats 2014-04-22 18:22:42 +00:00
Ben Johnson afe8123d91 Merge pull request #134 from Shopify/c_cursor
C cursor
2014-04-21 07:24:48 -06:00
Ben Johnson 4b0c7e3d42 Merge pull request #135 from benbjohnson/bench
Bench
2014-04-19 09:09:10 -05:00
Ben Johnson a42d74da7e Add 'bolt bench'.
This commit adds a flexible benchmarking tool to the 'bolt' CLI. It allows
the user to separately specify the write mode and read mode (e.g. sequential
random, etc). It also allows the user to isolate profiling to either the
read or the writes.

Currently the bench tool only supports "seq" read and write modes. It also
does not support streaming of Bolt counters yet.

Fixes #95.

/cc @snormore
2014-04-18 22:15:31 -05:00
Steven Normore 71e91e24b0 move bench package to bench/cmd/bolt/bench 2014-04-18 21:44:48 -05:00
Steven Normore 105fece47a add bench sub-package 2014-04-18 21:44:47 -05:00
Steven Normore 97bd718b02 add benchmarks using Benchmark framework 2014-04-18 21:44:36 -05:00
Steven Normore 29b7d0a9a4 fix basic parallel benchmark 2014-04-18 21:44:36 -05:00
Steven Normore fdde1bcb06 moar bench package 2014-04-18 21:44:27 -05:00
Steven Normore 6957c9d534 initial bench and generate command structure 2014-04-18 21:44:27 -05:00
Martin Kobetic 1bead4401c all tests pass 2014-04-18 00:14:56 +00:00
Martin Kobetic 9a3d0db1b2 trying to fix large seek 2014-04-17 22:01:16 +00:00
Martin Kobetic 194a0967b4 hide the cursor stack details behind function calls (pop/push/current) 2014-04-17 21:25:03 +00:00
Martin Kobetic 846cb9db03 tests pass 2014-04-17 14:02:31 +00:00
Ben Johnson bd8c09e895 Merge branch 'c_cursor' of github.com:Shopify/bolt into c_cursor
Conflicts:
	c/cursor_test.go
2014-04-17 08:26:48 -04:00
Ben Johnson a233966d0c Clean up 2014-04-17 08:25:26 -04:00
Ben Johnson c0ae4881ab Add Cursor.Next() to C cursor. 2014-04-16 15:17:35 -04:00
Steven Normore fe1f861f74 adds cursor iterate test 2014-04-16 15:38:23 +00:00
Ben Johnson a8cb83c008 Fix pointer arithematic. 2014-04-16 11:30:03 -04:00
Steven Normore 32937280c3 wip 2014-04-16 15:00:26 +00:00
Ben Johnson 6903c7447b Merge pull request #131 from benbjohnson/cursor-bucket
Add Cursor.Bucket() function.
2014-04-16 09:40:30 -04:00
Ben Johnson 63a8cddd2b Add Cursor.Bucket() function.
This commit adds an accessor to the Cursor type to retrieve the Bucket that
it was created from.
2014-04-16 09:38:53 -04:00