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

Link to this section Types

Metric key.

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
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 function package(key, value, type, opts \\ []) View Source