carbonmem: memory-backed carbon store
Optimized to answer to topK kind of queries.
Other pieces of the stack are:
For an overview of the stack and how the pieces fit together, watch Graphite@Scale or How to store millions metrics per second from FOSDEM '17.
Changes and versioning
Version policy - all the versions we run in production is taged.
In case change will require simultanious upgrade of different components, it will be stated in Upgrading notes below.
Also we will try to maintain backward compatibility from down to up.
For example with protobuf2 -> protobuf3 migration - carbonzipper can still send results to older versions of carbonapi, but can't get results from older versions of carbonserver/go-carbon.
Gray components are optional or alternative
Required golang 1.7+
# build binary git clone https://github.com/go-graphite/carbonmem.git cd carbonmem make dep make
The service accept only following types of requests:
The asterisk must be in metrics path. Usage of asterisk at any node of the tree are permitted.
This program was originally developed for Booking.com. With approval from Booking.com, the code was generalised and published as Open Source on github, for which the author would like to express his gratitude.
This code is licensed under the MIT license.
If you have questions or problems there are two ways to contact us:
- Open issue on a github page
- #zipperstack on gophers slack