Data Daemon v0.1.0 DataDaemon View Source

DataDog StatsD reporter.

Quick Setup

# In your config/config.exs file
config :my_app, Sample.DataDog,
  url: "statsd+udp://localhost:8125"

# In your application code
defmodule Sample.DataDog do
  @moduledoc ~S"My DataDog reporter."
  use DataDaemon,
    otp_app: :my_app,
    extensions: [:datadog]
end

defmodule Sample.App do
  alias Sample.DataDog

  def send_metrics do
    tags = [zone: "us-east-1a"]

    DataDog.gauge("request.queue_depth", 12, tags: tags)

    DataDog.distribution("connections", 123, tags: tags)
    DataDog.histogram("request.file_size", 1034, tags: tags)

    DataDog.timing("request.duration", 34, tags: tags)

    DataDog.increment("request.count_total", tags: tags)
    DataDog.decrement("request.count_total", tags: tags)
    DataDog.count("request.count_total", 2, tags: tags)
  end
end

Link to this section Summary

Types

Metric key

Metric tag value

Metric tags

Supported metric types

Possible metric values

Functions

DataDog StatsD reporter

Link to this section Types

Metric key.

Link to this type tag() View Source
tag() ::
  :atom | String.Chars.t() | {:system, String.t()} | {:config, atom(), atom()}

Metric tag value.

Link to this type tags() View Source
tags() :: [tag() | {tag(), tag()}]

Metric tags.

Link to this type type() View Source
type() :: :counter | :gauge | :histogram | :set | :timing

Supported metric types.

Possible metric values.

Link to this section Functions

Link to this macro __using__(opts \\ []) View Source (macro)

DataDog StatsD reporter.

Quick Setup

# In your config/config.exs file
config :my_app, Sample.DataDog,
  url: "statsd+udp://localhost:8125"

# In your application code
defmodule Sample.DataDog do
  @moduledoc ~S"My DataDog reporter."
  use DataDaemon,
    otp_app: :my_app,
    extensions: [:datadog]
end

defmodule Sample.App do
  alias Sample.DataDog

  def send_metrics do
    tags = [zone: "us-east-1a"]

    DataDog.gauge("request.queue_depth", 12, tags: tags)

    DataDog.distribution("connections", 123, tags: tags)
    DataDog.histogram("request.file_size", 1034, tags: tags)

    DataDog.timing("request.duration", 34, tags: tags)

    DataDog.increment("request.count_total", tags: tags)
    DataDog.decrement("request.count_total", tags: tags)
    DataDog.count("request.count_total", 2, tags: tags)
  end
end