Data Daemon v0.2.5 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