aboutsummaryrefslogtreecommitdiff
path: root/lib/exdatadog/metrics.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/exdatadog/metrics.ex')
-rw-r--r--lib/exdatadog/metrics.ex34
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/exdatadog/metrics.ex b/lib/exdatadog/metrics.ex
new file mode 100644
index 0000000..26c238e
--- /dev/null
+++ b/lib/exdatadog/metrics.ex
@@ -0,0 +1,34 @@
+defmodule Exdatadog.Metrics do
+ @moduledoc """
+ Metrics functions for DataDog
+ """
+ import Exdatadog
+
+ @doc """
+ Return active metrics between from given time to now
+
+ Required parameter: `from`, seconds since unix epoch
+ """
+ @spec metrics(integer, Exdatadog.Client.t) :: Exdatadog.response
+ def metrics(from, client) when is_integer(from) do
+ get("api/v1/metrics", client, from: from)
+ end
+
+ @doc """
+ Post time-series data to Datadog
+ """
+ @spec post_series(map, Exdatadog.Client.t) :: Exdatadog.response
+ def post_series(series, client) when is_map(series) do
+ post("api/v1/series", client, series)
+ end
+
+ @doc """
+ Query Metrics for any time period
+ """
+ @spec query(integer, integer, binary, Exdatadog.Client.t) ::
+ Exdatadog.response
+ def query(from, to, query, client) do
+ get("api/v1/query", client, [from: from, to: to, query: query])
+ end
+
+end