Overview
Chronicler is a open-source library that provide toolchain for InfluxDB for Scala programming language.
Features
- Multiple backend (see modules)
- Flexible API
- Code generation with macros (see macros)
- High modularity
- Response streaming
- Data compression
- Spark support (located here)
- Kafka sink (in-progress)
Modules
There are several modules. We can split them into three group:
- http
- udp
- utils
Http
There are several backend-specific modules:
- akka, based on akka-http
- async-http-client
- java url-connection, based on standard java IO api
They in turn can be divided by functionality into:
- IO operations, like
read
,write
- Management operation, like
createUser
,revokeUser
So final module list looks like:
chronicler-akka-io
chronicler-akka-management
chronicler-ahc-io
chronicler-ahc-management
chronicler-url-io
chronicler-url-management
Udp
Writing using UDP protocol support located in chronicler-udp
.
Utils
Automatic derivation of InfluxReader[_]
and InfluxWriter[_]
located in chronicler-macros
. See here
Getting started
Chronicler is currently available for Scala 2.11, 2.12, 2.13.0. Add the following to your build.sbt
:
libraryDependencies += "com.github.fsanaulla" %% <module-name> % <version>
Documentation
- Modules
- Get Started
- Clients tutorial
- Read operation
- Write operation
- Database management
- User management
- CQ management
- Subscription management
- RP management
- Shards management
- Response handling
- Macros
- Utils
- Streaming
- Data compression