|
|
|
@ -1,5 +1,6 @@ |
|
|
|
var client = require("../client"); |
|
|
|
var json = require("../json"); |
|
|
|
var querystring = require("querystring"); |
|
|
|
|
|
|
|
/*section: graph |
|
|
|
*comment: take a snapshot of a metric query |
|
|
|
@ -48,10 +49,11 @@ function snapshot(query, from, to, eventQuery, callback){ |
|
|
|
*comment: create an embed graph of a metric query |
|
|
|
*params: |
|
|
|
* graph_json: The request array to pass create in the embed |
|
|
|
* timeframe: optional, one of ("1_hour", "4_hours", "1_day", "2_days", and "1_week") |
|
|
|
* size: optional, one of ("small", "medium", "large", "xlarge") |
|
|
|
* legend: optional, "yes" or "no" |
|
|
|
* title: optional, the title of the embed |
|
|
|
* options: optional, object of extra parameters to pass to the embed create (see options[*] params) |
|
|
|
* options["timeframe"]: optional, one of ("1_hour", "4_hours", "1_day", "2_days", and "1_week") |
|
|
|
* options["size"]: optional, one of ("small", "medium", "large", "xlarge") |
|
|
|
* options["legend"]: optional, "yes" or "no" |
|
|
|
* options["title"]: optional, the title of the embed |
|
|
|
* callback: function(err, res) |
|
|
|
*example: | |
|
|
|
* ```javascript
|
|
|
|
@ -73,36 +75,28 @@ function snapshot(query, from, to, eventQuery, callback){ |
|
|
|
* } |
|
|
|
* ] |
|
|
|
* } |
|
|
|
* var timeframe = "1_hour"; |
|
|
|
* var size = "xlarge"; |
|
|
|
* var legend = "yes"; |
|
|
|
* var title = "my awesome embed"; |
|
|
|
* dogapi.graph.createEmbed(graphJSON, timeframe, size, legend, title, function(err, res){ |
|
|
|
* var options = { |
|
|
|
* timeframe: "1_hour", |
|
|
|
* size: "xlarge", |
|
|
|
* legend: "yes", |
|
|
|
* title: "my awesome embed" |
|
|
|
* }; |
|
|
|
* dogapi.graph.createEmbed(graphJSON, options, function(err, res){ |
|
|
|
* console.dir(res); |
|
|
|
* }); |
|
|
|
* ```
|
|
|
|
*/ |
|
|
|
function createEmbed(graphJSON, timeframe, size, legend, title, callback){ |
|
|
|
var lastArgument = arguments.length -1; |
|
|
|
|
|
|
|
// Build the form body
|
|
|
|
var body = "graph_json=" + encodeURIComponent(JSON.stringify(graphJSON)); |
|
|
|
if (timeframe !== undefined) { |
|
|
|
body += "&timeframe=" + encodeURIComponent(timeframe); |
|
|
|
} |
|
|
|
if (size !== undefined) { |
|
|
|
body += "&size=" + encodeURIComponent(size); |
|
|
|
} |
|
|
|
if (legend !== undefined) { |
|
|
|
body += "&legend=" + encodeURIComponent(legend); |
|
|
|
} |
|
|
|
if (title !== undefined) { |
|
|
|
body += "&title=" + encodeURIComponent(title); |
|
|
|
function createEmbed(graphJSON, options, callback){ |
|
|
|
if(callback === undefined && typeof options === 'function'){ |
|
|
|
callback = options; |
|
|
|
options = {}; |
|
|
|
} |
|
|
|
var body = options || {}; |
|
|
|
body.graph_json = JSON.stringify(graphJSON); |
|
|
|
|
|
|
|
// Create the request
|
|
|
|
var params = { |
|
|
|
body: body, |
|
|
|
body: querystring.stringify(body), |
|
|
|
contentType: "application/x-www-form-urlencoded" |
|
|
|
}; |
|
|
|
|
|
|
|
@ -142,10 +136,12 @@ module.exports = { |
|
|
|
snapshot(query, from, to, eventQuery, callback); |
|
|
|
} else if (args._.length > 4 && subcommand === "create_embed") { |
|
|
|
var graph_json = json.parse(args._[4]); |
|
|
|
var timeframe = args["timeframe"]; |
|
|
|
var size = args["size"]; |
|
|
|
var legend = args["legend"]; |
|
|
|
var title = args["title"]; |
|
|
|
var options = { |
|
|
|
timeframe: args["timeframe"], |
|
|
|
size: args["size"], |
|
|
|
legend: args["legend"], |
|
|
|
title: args["title"] |
|
|
|
}; |
|
|
|
createEmbed(graph_json, timeframe, size, legend, title, callback); |
|
|
|
} else { |
|
|
|
callback("unknown subcommand or arguments try `dogapi graph --help` for help", false); |
|
|
|
|