aboutsummaryrefslogtreecommitdiff
path: root/lib/exdatadog/metrics.ex
blob: 26c238e81e8a980097291b974f0637a2fbb2bbbc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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