Browse Source

Add API to support graph_def based snapshots

pull/6/head
Dale Hamel 11 years ago
parent
commit
1705858f2e
2 changed files with 35 additions and 5 deletions
  1. +33
    -4
      lib/api/snapshot.js
  2. +2
    -1
      package.json

+ 33
- 4
lib/api/snapshot.js View File

@ -1,11 +1,8 @@
var extend = require('extend');
var util = require('util');
var snapshot_api = function(){};
snapshot_api.prototype.add_snapshot = function(snapshot, callback){
/*
* snapshot_api.add_snapshot(snapshot, [callback])
@ -37,10 +34,42 @@ snapshot_api.prototype.add_snapshot = function(snapshot, callback){
throw new Error('`end` property of `snapshot` parameter is required');
}
this.request('GET', '/graph/snapshot', {query: snapshot}, callback);
};
snapshot_api.prototype.add_snapshot_from_def = function(snapshot, callback){
/*
* snapshot_api.add_snapshot_from_def(snapshot, [callback])
*
* method used to add a new snapshot to datadog based on a graph definition
* https://github.com/DataDog/dogapi/commit/583f13d7bd8de5a86daa2ff53f2d7cf6570e7ab2
* feature is not currently documented (at time of writing), but very useful.
*
* `snapshot` is an object containing any of the following:
* graph_def: *required*, JSON string dump of an existing graph definition
* start: *required*, int, Start of the query.(POSIX timestamp)
* end: *required*, int, End of the query.(POSIX timestamp)
*
* `callback` is an optional function for the result
* callback(error, result, status_code)
*/
if(typeof snapshot != 'object'){
throw new Error('`snapshot` parameter must be an object');
}
if(!snapshot['graph_def']){
throw new Error('`graph_def` property of `snapshot` parameter is required');
}
if(!snapshot['start']){
throw new Error('`start` property of `snapshot` parameter is required');
}
if(!snapshot['end']){
throw new Error('`end` property of `snapshot` parameter is required');
}
this.request('GET', '/graph/snapshot', {query: snapshot}, callback);
};
return module.exports = snapshot_api;

+ 2
- 1
package.json View File

@ -20,7 +20,8 @@
],
"author": "Brett Langdon <brett@blangdon.com> (http://brett.is)",
"contributors":[
"colinjonesx (http://www.thetestpeople.com)"
"colinjonesx (http://www.thetestpeople.com)",
"dalehamel (http://blog.srvthe.net)"
],
"license": "MIT",
"readmeFilename": "README.md",


Loading…
Cancel
Save