network-metrics
network-metrics copied to clipboard
Send metrics to Ganglia, Graphite, and statsd
Network.Metric
Table of Contents
- Contribute
- Licence
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