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.GangliaNetwork.Metric.Sink.GraphiteNetwork.Metric.Sink.StatsdNetwork.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, andTimingctors 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