• Stars
    star
    4
  • Rank 3,304,323 (Top 66 %)
  • Language
    Elixir
  • License
    MIT License
  • Created over 9 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An opinionated InfluxDB UDP only client

#UdpFlux Build Status

This is an opinionated InfluxDB client, built to only work with InfluxDB 0.9 and it's UDP line protocol.

It's meant to instantly ship available events off to InfluxDB, taking the risk of loosing events due to UDP usage. It also let's InfluxDB decide upon the timestamp, as I can't be bothered to make sure the clocks are all fine ;)

Usage

  1. Instantiate the InfluxSender GenServer: {:ok, pid} = UDPFlux.Sender.start_link(%{ip: "127.0.0.1", port: 4444})
  2. Create events: point = %UDPFlux.DataPoint{name: "foo", tags: [key: "value"], fields: [value: 0.069]}
  3. Ship events: UDPFlux.Sender.write_point(pid, point)
  4. Done. The point is now racing to the InfluxDB specified. Make sure to configure it correctly, the values below work for me
[udp]
  enabled = true
  bind-address = "0.0.0.0:4444"
  database = "foo"
  batch-size = 100
  batch-timeout = "10ms"

Those values basically mean: Accept UDP on any IP and port 4444, write points to the DB "foo", wait up to 10ms or a batch of up to 100 data points. Whichever comes first triggers a write.