pickle: Instant StatsD in Haskell

[ library, mit, unclassified ] [ Propose Tags ]

Instant StatsD in Haskell. Easy to implement in a program you've already written without any refactoring to pass any sockets/configuration around.


[Skip to Readme]
Versions [faq] 0.1.0.0, 0.1.0.1, 1.0.0.0, 1.0.1.0 (info)
Change log CHANGELOG.md
Dependencies base (>=4.12.0.0 && <4.13), containers (>=0.6.0.1 && <0.6.3), network (>=2.8.0.0 && <3.2), stm (>=2.4 && <2.6), text (>=1.2.3.1 && <1.3) [details]
License MIT
Copyright Copyright 2019 Anduril Industries
Author Bob Blackmon
Maintainer bob.blackmon@ymail.com
Bug tracker https://github.com/Luabee/pickle/issues
Uploaded by Luabee at 2020-08-20T21:01:52Z
Distributions NixOS:1.0.1.0
Downloads 667 total (1 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2020-08-20 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for pickle-1.0.1.0

[back to package description]

pickle

Instant StatsD in Haskell. Easy to implement in a program you've already written without any refactoring to pass any sockets/configuration around.

Usage

Call setupPickle defaultConfig at least once, e.g.

{-# LANGUAGE OverloadedStrings #-}
import qualified Data.Map.Strict as M

main :: IO()
main = do
    setupPickle defaultConfig
    {...}

Then to send metrics you can just call one of these functions:

let name  = "gauge.name"
    value = 42
    tags  = M.fromList [("key","value), ("tag2","value")]
gauge   name value (Just tags)
timer   name value (Just tags) Nothing
counter name value (Just tags) Nothing

Pickle will take care of the rest. He's a good boy.

my dogger, pickle