influxdb/pkg
Jason Wilder ae821f4e2d Rework compaction scheduling
This changes the compaction scheduling to better utilize the available
cores that are free.  Previously, a level was planned in its own goroutine
and would kick off a number of compactions groups.  The problem with this
model was that if there were 4 groups, and 3 completed quickly, the planning
would be blocked for that level until the last group finished.  If the compactions
at the prior level are running more quickly, a large backlog could accumlate.

This now moves the planning to a single goroutine that plans each level in
succession and starts as many groups as it can.  When one group finishes,
the planning will start the next group for the level.
2017-10-03 10:48:13 -06:00
..
bits use math/bits in HLL implementation 2017-09-26 12:51:08 +01:00
bloom Perf boost with some bit twiddling 2017-09-22 17:59:39 +01:00
bytesutil Use offheap memory for indirect index offsets slice 2017-09-11 15:29:25 -06:00
deep Update godoc for pkg 2016-12-30 18:03:01 -08:00
escape Update godoc for pkg 2016-12-30 18:03:01 -08:00
estimator use math/bits in HLL implementation 2017-09-26 12:51:08 +01:00
limiter Rework compaction scheduling 2017-10-03 10:48:13 -06:00
mmap Fix building on solaris/illumos 2017-06-21 09:16:45 -06:00
pool Add LimitedBytePool for wal buffers 2017-05-11 11:27:00 -06:00
rhh Reset rhh map elements to reuse allocations. 2017-04-04 11:57:37 -06:00
slices Test slices strings Exists* functions 2017-08-08 20:33:26 -04:00
README.md Correctly name pkg README 2015-12-17 11:24:58 -08:00

README.md

pkg/ is a collection of utility packages used by the InfluxDB project without being specific to its internals.

Utility packages are kept separate from the InfluxDB core codebase to keep it as small and concise as possible. If some utilities grow larger and their APIs stabilize, they may be moved to their own repository under the InfluxDB organization, to facilitate re-use by other projects. However that is not the priority.

Because utility packages are small and neatly separated from the rest of the codebase, they are a good place to start for aspiring maintainers and contributors. Get in touch if you want to help maintain them!