Fluxter
Fluxter is an InfluxDB writer for Elixir, it uses line protocol over UDP.
Installation
Add Fluxter as a dependency to your mix.exs file:
def application() do
[applications: [:fluxter]]
end
defp deps() do
[{:fluxter, "~> 0.1"}]
end
Then run mix deps.get in your shell to fetch the dependencies.
Usage
A module that uses Fluxter represents connection pool:
defmodule MyApp.Fluxter do
use Fluxter
end
Each Fluxter pool has a start_link/0 function that needs to be invoked before using it. In general, this function is not called directly, but used as part of your application supervision tree, for example:
def start(_type, _args) do
import Supervisor.Spec
children = [
supervisor(MyApp.Fluxter, []),
#...
]
Supervisor.start_link(children, strategy: :one_for_one)
end
Thereafter, the write/2,3 and measure/2,3,4 functions will be successfully sending points to the datastore.
Configuration
Fluxter could be configured globally with:
config :fluxter,
prefix: "my_app",
host: "metrics.tld",
port: 1122
and on a per module basis as well:
config :fluxter, MyApp.Fluxter,
pool_size: 10,
port: 2233
The defaults are:
- prefix:
nil - host:
"127.0.0.1" - port:
8092 - pool_size:
5
License
This software is licensed under the ISC license.