README.md

# DogStat

[![Deps Status](https://beta.hexfaktor.org/badge/all/github/Nebo15/dogstat.svg)](https://beta.hexfaktor.org/github/Nebo15/dogstat) [![Hex.pm Downloads](https://img.shields.io/hexpm/dw/dogstat.svg?maxAge=3600)](https://hex.pm/packages/dogstat) [![Latest Version](https://img.shields.io/hexpm/v/dogstat.svg?maxAge=3600)](https://hex.pm/packages/dogstat) [![License](https://img.shields.io/hexpm/l/dogstat.svg?maxAge=3600)](https://hex.pm/packages/dogstat) [![Build Status](https://travis-ci.org/Nebo15/dogstat.svg?branch=master)](https://travis-ci.org/Nebo15/dogstat) [![Coverage Status](https://coveralls.io/repos/github/Nebo15/dogstat/badge.svg?branch=master)](https://coveralls.io/github/Nebo15/dogstat?branch=master) [![Ebert](https://ebertapp.io/github/Nebo15/dogstat.svg)](https://ebertapp.io/github/Nebo15/dogstat)

This package is based on [Statix](https://github.com/lexmag/statix) with one major difference - it receives settings when on GenServer init, allowing to use packages like [Confex](https://github.com/Nebo15/confex) to resolve configuration from environment at start-time.

## Installation

The package can be installed as:

  1. Add `dogstat` to your list of dependencies in `mix.exs`:

    ```elixir
    def deps do
      [{:dogstat, "~> 0.1.0"}]
    end
    ```

  2. Ensure `dogstat` is started before your application:

    ```elixir
    def application do
      [applications: [:dogstat]]
    end
    ```

  3. Add it to your supervision tree:

    ```elixir
    def start(_type, _args) do
      import Supervisor.Spec, warn: false

      config = [
        host: "localhost",
        port: 8125
      ]

      children = [
        ...
        worker(Annon.Monitoring.MetricsCollector, [config]),
        ...
      ]

      opts = [strategy: :one_for_one, name: Annon.Supervisor]
      Supervisor.start_link(children, opts)
    end
    ```

## Docs

The docs can be found at [https://hexdocs.pm/dogstat](https://hexdocs.pm/dogstat)

## License

See [LICENSE.md](LICENSE.md).