Browse Source

finish metric api

pull/2/merge
Brett Langdon 13 years ago
parent
commit
839e40f0f6
1 changed files with 27 additions and 4 deletions
  1. +27
    -4
      lib/api/metric.js

+ 27
- 4
lib/api/metric.js View File

@ -1,13 +1,36 @@
var metric_api = function(){
var v8type = require('v8type');
};
metric_api.prototype.add_metric = function(){
var metric_api = function(){};
metric_api.prototype.add_metric = function(metric, callback){
var metrics = {
'series': [metric]
};
this.add_metrics(metrics, callback);
};
metric_api.prototype.add_metrics = function(){
metric_api.prototype.add_metrics = function(metrics, callback){
if(!v8type.is(metrics, v8type.OBJECT)){
throw new Error('`metrics` parameter must be an object');
}
if(!metrics['series'] || !v8type.is(metrics['series'], v8type.ARRAY)){
throw new Error('`metrics["series"]` parameter must be an array');
}
for(var i in metrics['series']){
var metric = metrics['series'][i];
if(!metric['metric']){
throw new Error('metric["metric"] is required');
}
if(!metric['points'] || !v8type.is(metric['points'], v8type.ARRAY)){
throw new Error('metric["points"] must be an array');
}
}
this.request('POST', '/series', {body: metrics}, callback);
};
return module.exports = metric_api;

Loading…
Cancel
Save