Popularity
4.7
Stable
Activity
0.0
Stable
39
3
9

Monthly Downloads: 5,658
Programming language: Elixir
License: MIT License
Tags: Third Party APIs    
Latest version: v0.0.3

dogstatsd alternatives and similar packages

Based on the "Third Party APIs" category.
Alternatively, view dogstatsd alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of dogstatsd or a related project?

Add another 'Third Party APIs' Package

README

dogstatsd-elixir

A client for DogStatsd, an extension of the StatsD metric server for Datadog.

Build Status Coverage Status

Quick Start Guide

First install the library:

  1. Add dogstatsd to your mix.exs dependencies:

      def deps do
        [
          {:dogstatsd, "0.0.3"}
        ]
      end
    
  2. Add :dogstatsd to your application dependencies:

      def application do
        [applications: [:dogstatsd]]
      end
    

Then start instrumenting your code:

# Require the dogstatsd module.
require DogStatsd

# Configure DogStatsd.
{:ok, statsd} = DogStatsd.new("localhost", 8125)

# Increment a counter.
DogStatsd.increment(statsd, "page.views")

# Record a gauge 50% of the time.
DogStatsd.gauge(statsd, "users.online", 123, %{sample_rate: 0.5})

# Sample a histogram
DogStatsd.histogram(statsd, "file.upload.size", 1234)

# Time a block of code
DogStatsd.time(statsd, "page.render") do
  render_page('home.html')
end

# Send several metrics at the same time
# All metrics will be buffered and sent in one packet when the block completes
DogStatsd.batch(statsd, fn(s) ->
  s.increment(statsd, "page.views")
  s.gauge(statsd, "users.online", 123)
end)

# Tag a metric.
DogStatsd.histogram(statsd, "query.time", 10, %{tags: ["version:1"]})

You can also post events to your stream. You can tag them, set priority and even aggregate them with other events.

Aggregation in the stream is made on hostname/event_type/source_type/aggregation_key.

# Post a simple message
DogStatsd.event(statsd, "There might be a storm tomorrow", "A friend warned me earlier.")

# Cry for help
DogStatsd.event(statsd, "SO MUCH SNOW", "Started yesterday and it won't stop !!", %{alert_type: "error", tags: ["urgent", "endoftheworld"]})

Feedback

To suggest a feature, report a bug, or general discussion, head over here.

Change Log

  • 0.0.1
    • Initial release.

Credits

dogstatsd-elixir is a port of the Ruby DogStatsd client