Skip to content

Instantly share code, notes, and snippets.

@you21979
Created November 6, 2014 18:01
Show Gist options
  • Save you21979/113ed4c6ec4aeda9746f to your computer and use it in GitHub Desktop.
Save you21979/113ed4c6ec4aeda9746f to your computer and use it in GitHub Desktop.
var munin = require('munin-plugin');
var etwings = require('etwings');
var api = etwings.PublicApi;
var Promise = require('bluebird');
var fs = Promise.promisifyAll(require('fs'));
var moment = require('moment');
var filter_date24h = function(){
return function(v){
var today = moment();
var w = moment.unix(v.date);
return today.diff(w) > (3600 * 24 * 1000) ? false : true;
}
}
var reduce_exchange_volume = function(){
return function(r,v){
r.total_price += v.price * v.amount;
r.total_amount += v.amount;
return r;
}
}
var main = function(){
var list = [];
Promise.all([
api.trades('btc_jpy').then(function(r){return {pair:'btc_jpy', result:r}}),
api.trades('mona_jpy').then(function(r){return {pair:'mona_jpy', result:r}})
]).then(function(results){
list.push(function(){
var g = new munin.Graph('etwings exchange volume','volume','exchange');
results.forEach(function(res){
var data = res.result.filter(filter_date24h()).reduce(reduce_exchange_volume(), {total_price:0,total_amount:0})
g.add(new munin.Model.Default(res.pair).setValue(data.total_price));
});
g.sortLabel();
return g;
})
}).then(function(){
munin.create(list.map(function(v){return v()}));
});
}
return main()
@you21979
Copy link
Author

you21979 commented Nov 6, 2014

muninだとうまくいかなかった。プロセス分かれてしまうからファイルにおとす必要がある

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment