diff --git a/index.html b/index.html index 6b23cbe..c40f1ae 100644 --- a/index.html +++ b/index.html @@ -34,6 +34,8 @@ document.addEventListener("DOMContentLoaded", function(){hljs.initHighlightingOn
  • screenboard
  • +
  • search +
  • serviceCheck
  • tag @@ -1217,6 +1219,41 @@ dogapi.screenboard.share(1234, function(err, res){ +

    serviceCheck

    diff --git a/lib/api/index.js b/lib/api/index.js index b44f52b..cc8c06a 100644 --- a/lib/api/index.js +++ b/lib/api/index.js @@ -8,6 +8,7 @@ var api = { metric: require("./metric"), monitor: require("./monitor"), screenboard: require("./screenboard"), + search: require("./search"), serviceCheck: require("./serviceCheck"), tag: require("./tag"), timeboard: require("./timeboard"), diff --git a/lib/api/search.js b/lib/api/search.js new file mode 100644 index 0000000..39c700b --- /dev/null +++ b/lib/api/search.js @@ -0,0 +1,53 @@ +var client = require("../client"); + +/*section: search + *comment: | + * search for metrics and hosts from the past 24 hours + *params: + * query: the seach query to perform (e.g. "app1" or "hosts:app1" or "metrics:response") + * callback: function(err, res) + *example: | + * ```javascript + * var dogapi = require("dogapi"); + * var options = { + * api_key: "api_key", + * app_key: "app_key" + * }; + * dogapi.initialize(options); + * var query = "app"; + * dogapi.search.query(query, function(err, res){ + * console.dir(res); + * }); + * ``` + */ +function query(query, callback){ + var params = { + query: { + q: query + } + }; + client.request("GET", "/search", params, callback); +} + +module.exports = { + query: query, + getUsage: function(){ + return [ + " dogapi search query " + ]; + }, + getHelp: function(){ + return [ + "Search:", + " Subcommands:", + " query search for hosts and metrics from the last 24 hours" + ]; + }, + handleCli: function(subcommand, args, callback){ + if(subcommand === "query" && args._.length > 4){ + query(args._[4], callback); + } else { + callback("unknown subcommand or arguments try `dogapi search --help` for help", false); + } + } +};