Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module lets you periodically flush metrics to elasticsearch. Example usage:
main = do store <- newStore forkElasticSearch defaultESOptions store
You probably want to include some of the predefined metrics defined
in the ekg-core package, by calling e.g. the registerGcStats
function defined in that package.
- data ElasticSearch
- elasticSearchThreadId :: ElasticSearch -> ThreadId
- forkElasticSearch :: ESOptions -> Store -> IO ElasticSearch
- data ESOptions = ESOptions {}
- defaultESOptions :: ESOptions
The elasticsearch syncer
data ElasticSearch Source #
A handle that can be used to control the elasticsearch sync thread.
Created by forkElasticSearch
.
elasticSearchThreadId :: ElasticSearch -> ThreadId Source #
The thread ID of the elasticsearch sync thread. You can stop the sync by killing this thread (i.e. by throwing it an asynchronous exception.)
:: ESOptions | Options |
-> Store | Metric store |
-> IO ElasticSearch | ElasticSearch sync handle |
Create a thread that flushes the metrics in the store to elasticsearch.
ElasticSearch options
Options to control how to connect to the elasticsearch server and how often to flush metrics. The flush interval should be shorter than the flush interval elasticsearch itself uses to flush data to its backends.
ESOptions | |
|
defaultESOptions :: ESOptions Source #
Defaults:
host
="127.0.0.1"
port
=8125
onException
=print
indexBase
=metricbeats
indexByDate
=True
beatName
="ekg"
flushInterval
=1000
debug
=False