Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
pyleveltsd
tests
.gitignore
LICENSE.txt
README.md
requirements.txt
setup.py

README.md

level-tsd

leveldb based backend for graphite.

Installion instructions

Assumption

You are familiar on how to install and operate graphite in general. If not, have a look at these instructions. The install from source instructions (this one) is what the rest of the document specifically based on.

Getting leveldb

There is a nice script that provides leveldb extensions for python. It can be installed by using this package

Plugin

Install the plugin using pip

pip install -git+https://github.com/InMobi/level-tsd.git#egg=pyleveltsd

Carbon

We require the megacarbon branch of carbon daemon. This is becase no other version permits storage plugins. There is still a small level of change that needs to be done as the plugin autodiscovery mechanism is broken. Hence, you need to use this fork:

pip install -git+https://github.com/InMobi/carbon.git@leveltsd#egg=carbon

Set the storage engine as follows by editing your db.conf

DATABASE = level-tsd

Graphite-web

A new graphite web connector is needed to access this new backend. The carbon daemon and the graphite-web deployment need not be on the same host. Hence the finder is a different project

See InMobi/level-tsd-finder for getting the graphite web connector.

TODO

(All of these should be turned into issues)

  1. Make the json RPC port configurable
  2. Make the binding network interface of the json RPC configurable
  3. Leveldb tunables (block size, buffer size, cache size, etc. etc.) as configurations
  4. Flush the batched metrics after a fixed time interval
  5. Configurable size for write batch
You can’t perform that action at this time.