Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lexmag/fluxter
High-performance and reliable InfluxDB writer for Elixir
https://github.com/lexmag/fluxter
elixir influxdb instrumentation metrics
Last synced: 13 days ago
JSON representation
High-performance and reliable InfluxDB writer for Elixir
- Host: GitHub
- URL: https://github.com/lexmag/fluxter
- Owner: lexmag
- License: isc
- Created: 2016-02-24T00:10:14.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-12-19T20:38:46.000Z (11 months ago)
- Last Synced: 2024-10-13T19:06:02.595Z (26 days ago)
- Topics: elixir, influxdb, instrumentation, metrics
- Language: Elixir
- Homepage: https://hexdocs.pm/fluxter
- Size: 60.5 KB
- Stars: 105
- Watchers: 6
- Forks: 20
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-influxdb - fluxter - An InfluxDB writer for Elixir (Client libraries / Unofficial)
- awesome-beam-monitoring - Fluxter - InfluxDB writer for Elixir (Metrics)
README
# Fluxter
![CI Status](https://github.com/lexmag/fluxter/workflows/CI/badge.svg)
[![Hex Version](https://img.shields.io/hexpm/v/fluxter.svg "Hex Version")](https://hex.pm/packages/fluxter)Fluxter is an [InfluxDB](https://www.influxdata.com/) writer for Elixir. It uses the InfluxDB line protocol over UDP.
## Installation
Add Fluxter as a dependency to your `mix.exs` file:
```elixir
defp deps() do
[{:fluxter, "~> 0.8"}]
end
```Then run `mix deps.get` in your shell to fetch the dependencies.
## Usage
See [the documentation](https://hexdocs.pm/fluxter) for detailed usage information.
A module that uses Fluxter becomes an InfluxDB connection pool:
```elixir
defmodule MyApp.Fluxter do
use Fluxter
end
```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:```elixir
def start(_type, _args) do
children = [
MyApp.Fluxter,
#...
]
Supervisor.start_link(children, strategy: :one_for_one)
end
```Once the Fluxter pool is started, its `write/2,3`, `measure/2,3,4`, and other functions can successfully be used to send points to the data store.
## License
This software is licensed under [the ISC license](LICENSE).