influxdb- InfluxDB client library for Haskell
Safe HaskellNone




This module is desined to be used with the network package and be imported qualified.

>>> :set -XOverloadedStrings -XOverloadedLists
>>> import Data.Time
>>> import Network.Socket
>>> import Database.InfluxDB
>>> import qualified Database.InfluxDB.Write.UDP as UDP
>>> sock <- Network.Socket.socket AF_INET Datagram defaultProtocol
>>> let localhost = tupleToHostAddress (127, 0, 0, 1)
>>> let params = UDP.writeParams sock $ SockAddrInet 8089 localhost
>>> UDP.write params $ Line "measurement1" [] [("value", FieldInt 42)] (Nothing :: Maybe UTCTime)
>>> close sock

Make sure that the UDP service is enabled in the InfluxDB config. This API doesn't tell you if any error occurs. See the official doc for details.


write :: Timestamp time => WriteParams -> Line time -> IO () Source #

Write a Line

writeBatch :: (Timestamp time, Foldable f) => WriteParams -> f (Line time) -> IO () Source #

Write Lines in a batch

This is more efficient than write.

Writer parameters

data WriteParams Source #

The full set of parameters for the UDP writer.


Instances details
HasPrecision 'WriteRequest WriteParams Source #

Timestamp precision.

In the UDP API, all timestamps are sent in nanosecond but you can specify lower precision. The writer just rounds timestamps to the specified precision.

Instance details

Defined in Database.InfluxDB.Write.UDP

writeParams :: Socket -> SockAddr -> WriteParams Source #

Smart constructor for WriteParams

Default parameters:


sockAddr :: Lens' WriteParams SockAddr Source #

UDP endopoint of the database

precision :: HasPrecision ty a => Lens' a (Precision ty) Source #

Time precision parameter.