- replace heap-based intersect with pairwise (minor performance improvement)
- respect
text_index_service
config value everywhere (minor bug fix) - stop timing /admin/* endpoints (more accurate
requests_in_*_to_*
Graphite metric reporting)
- Support for protobuf3
- siphash -> sip13 for hashing tags/metrics (minor performance improvement)
- fix missing pprof HTTP routes (
/debug/pprof/{heap|profile|block|trace}
) - stop materializing and release memory back to the OS once graceful restart is triggered: this creates space for the new instance to load up
- Support for quoting pieces of
text-match
queries using<
and>
. This allows selecting pieces of metric that span dots, like so:text-match:<df.root.bytes_free>
. This requires acarbonapi
equal to or newer than 79f91477a. - Graceful restart using a
facebookgo/grace
. Send SIGUSR2 to spawn a new carbonsearch. The old process will hand over to the new one once the new one has warmed up. - Warmup period: carbonsearch will wait until it has ingested enough data to serve search queries. This is managed by the
warm_threshold
config setting on a per-consumer basis. This may be bypassed by passing-coldStart
on the command line.
warm_threshold
: a ratio (valid range: 0 to 1) that describes how much progress a consumer should make before considering itself warm. For the Kafka consumer this represents position in the buffer relative to first offset seen; the HTTP consumer must be informed of progress using a POST to/consumer/progress
.
- index materialization timings are now only logged under debug builds
This is the first tagged release, so changes are from previously deployed version (28fbc853).
- autocomplete for queries that have a trailing glob. When deployed alongside carbonzipper 64a4933, carbonsearch queries can be auto-completed from the graphite-web UI.
- change default search prefix to 'virt.v1.*.' for better graphite-web support (49b6a91 for details)
- support prefix in config file (rather than a CLI flag)
- split indexes mapping now associates multiple services with a single index (link)
- new graphite metrics for index generation timings and index sizes
- request logging for all requests, query time + result counts for Find requests
- various small tweaks to make carbonsearch clean against go-staticcheck, other cleanups based on various other linters/static checkers
- include BuildVersion in ExpVars