network-metrics: Send metrics to Ganglia, Graphite, and statsd.

[ library, metrics, monitoring ] [ Propose Tags ]

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.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.1.9, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.2.6, 0.2.8, 0.2.9, 0.3.0, 0.3.1, 0.3.2, 0.4
Dependencies base (>=4.3 && <5), binary, bytestring, data-default, network, random, time [details]
License LicenseRef-OtherLicense
Author Brendan Hay <brendan.g.hay@gmail.com>
Maintainer Brendan Hay <brendan.g.hay@gmail.com>
Category Metrics, Monitoring
Home page http://github.com/brendanhay/network-metrics
Bug tracker http://github.com/brendanhay/network-metrics/issues
Source repo head: git clone git://github.com/brendanhay/network-metrics.git
Uploaded by BrendanHay at 2014-08-06T12:17:45Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 15173 total (26 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Successful builds reported [all 1 reports]

Readme for network-metrics-0.4

[back to package description]

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, and Timing 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