Send metrics to Ganglia, Graphite, and statsd.
Send metrics directly from Haskell to various monitoring and metrics services.
Supported services are Ganglia, Graphite, and statsd.
Please see http://github.com/brendanhay/network-metrics/blob/master/README.md for further information and usage.
Network.Metric
Table of Contents
Usage
All modules including Network.Metric
expose the same interfaces to sinks, and re-export the required types for constructing metrics.
Supported Sinks:
Network.Metric.Sink.Ganglia
Network.Metric.Sink.Graphite
Network.Metric.Sink.Statsd
Network.Metric.Sink.Stdout
Unified:
{-# LANGUAGE OverloadedStrings #-}
import Network.Metric
main = do
sink <- open Ganglia (Just "thishost") "localhost" "1234"
-- Creates ganglia key: "thishost.name.space.bucket" with an "int32" type
push sink $ Counter "name.space" "bucket" 1234
close sink
Specific Sink:
{-# LANGUAGE OverloadedStrings #-}
import Network.Metric.Sink.Graphite
main = do
sink <- open Nothing "localhost" "1234"
-- Creates graphite key: "name.space.bucket"
push sink $ Counter "name.space" "bucket" 1234
close sink
API
Preliminary API documentation is available on Hackage.
The API is currently in flux, and conversion between the universal
Counter
,Gauge
, andTiming
ctors to the respective sink types is not yet completed.
Contribute
For any problems, comments or feedback please create an issue here on GitHub.
Licence
network-metrics is released under the Mozilla Public License Version 2.0