MyNixOS website logo
Description

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

Metadata

Version

0.4

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows