# Fluxter

[![Build Status]( "Build Status")](
[![Hex Version]( "Hex Version")](

Fluxter is an InfluxDB writer for Elixir. It uses InfluxDB's line protocol over UDP.

**Note:** if you're using Erlang 19 or greater, you need Fluxter 0.4.0 or greater otherwise metrics reporting will (silently) not work because of network driver changes happened between Erlang 18 and Erlang 19.

## Installation

Add Fluxter as a dependency to your `mix.exs` file:

def application() do
  [applications: [:fluxter]]

defp deps() do
  [{:fluxter, "~> 0.7"}]

Then run `mix deps.get` in your shell to fetch the dependencies.

## Usage

A module that uses Fluxter becomes an InfluxDB connection pool:

defmodule MyApp.Fluxter do
  use Fluxter

Each Fluxter pool provides a `start_link/1` function that starts the pool and connects to InfluxDB; this function needs to be invoked before the pool can be used.
Typically, you won't call `start_link/1` directly as you'll want to
add a Fluxter pool to your application's supervision tree.
For this use case, pools provide a `child_spec/1` function:

def start(_type, _args) do
  children = [
  Supervisor.start_link(children, strategy: :one_for_one)

Once the Fluxter pool is started, its `write/2,3` and `measure/2,3,4` functions can successfully be used to send points to the data store.

Much more information can be found in the [documentation](

## License

This software is licensed under [the ISC license](LICENSE).