arbor-monad-metric-1.1.0: src/Arbor/Monad/Metric/Api/String.hs
module Arbor.Monad.Metric.Api.String
( Counter
, Gauge
, Tag
, tags
, tag
, counter
, gauge
) where
import Arbor.Monad.Metric.Type (Counter, Gauge, Tag)
import Data.Bifunctor
import Data.Set (Set)
import qualified Arbor.Monad.Metric.Api.Text as T
import qualified Data.Text as T
counter :: String -> Counter
counter = T.counter . T.pack
{-# INLINE counter #-}
gauge :: String -> Gauge
gauge = T.gauge . T.pack
{-# INLINE gauge #-}
tag :: String -> String -> Tag
tag name value = T.tag (T.pack name) (T.pack value)
{-# INLINE tag #-}
tags :: [(String, String)] -> Set Tag
tags = T.tags . fmap (bimap T.pack T.pack)
{-# INLINE tags #-}