pinterest/yuvi

Name: yuvi

Owner: Pinterest

Description: Yuvi is an in-memory storage engine for recent time series metrics data.

Created: 2017-08-31 15:14:08.0

Updated: 2018-04-10 02:54:59.0

Pushed: 2017-12-12 22:57:57.0

Homepage:

Size: 117

Language: Java

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Yuvi

Yuvi is an in-memory storage engine for recent time series metrics data. It has the following features:

Architecture

Yuvi consists a chunk manager that stores the metrics data the last few hours. A chunk manager manages several chunk, which consists of 2 hours of metrics data. Each chunk consists of a tag store to store metrics metdata and a metric store to store the metrics data. For efficiency, several chunks can also share a tag store. Once the data in a chunk is older than a configured amount of time, it is removed.

Sample code for using the library
rt com.pinterest.yuvi.chunk.ChunkManager;

kManager chunkManager = new ChunkManager("test", 1000);
kManager.addMetric("put metricName.cpu.util  1489647603 30 host=host1 cluster=c1");
<TimeSeries> ts = chunkManager.query(Query.parse("metricName.cpu.util host=*"), 1489647600, 1489649600, QueryAggregation.NONE);
NOTE

This project is under active development. A dev version of OpenTSDB integration code can be found at: https://github.com/mansu/opentsdb/tree/yuvi-dev


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.