All Projects → brendanhay → network-metrics

brendanhay / network-metrics

Licence: MPL-2.0 license
Send metrics to Ganglia, Graphite, and statsd

Programming Languages

haskell
3896 projects
Makefile
30231 projects

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].