/caiman

Times series data library. Store data to files or to mongoDB.

Primary LanguageJavaScript

Caiman - statistic alligator

Caiman - times series library

Times series data library.

Library helps organize time series data. Caiman can be used for IoT systems, stock data, different type of statistics, etc. As database caiman can use file-based database.

Installation

npm install caiman --save

or

yarn add caiman --save

Usage

import {Caiman} from caiman;

const options = {
    driver: {
        type: 'files',
        options:{
            path: '/tmp/'
        }
    }
}, periods = ['month', 'day', 'hour', 'minute', 'second'];
 
let currentDate = new Date();

let temperatureSensor = new Caiman('temperature_sensor', options);

//save average value binded to current date and time, will collect average values
// posible values of last parameter are 'averages', 'aggregate', 'summarize' or you can use your own strategy
temperatureSensor.save(currentDate, periods, Math.random() * 100, 'averages');


//get collection of values by year, will return coolection of average values by monthes
console.log(stat.getCollection(currentDate, 'year'));

//get collection of values by month, will return coolection of average values by days
console.log(stat.getCollection(currentDate, 'month'));

//get collection of values by day, will return coolection of average values by hours 
console.log(stat.getCollection(currentDate, 'day'));

//get collection of values by hour, will return coolection of average values by minutes
console.log(stat.getCollection(currentDate, 'hour'));

//get collection of values by hour, will return coolection of average values by seconds
console.log(stat.getCollection(currentDate, 'minute'));

Run tests

yarn test

TODO

  • Redis support
  • Add CI
  • Add badges

Licence

MIT