module Hasql.Pool.Observer
(   Observed(..)
,   ObserverAction
)
where

import Hasql.Pool.Prelude


-- | Represents properties of an observed IO action associated with a pool item
newtype Observed = Observed
    {   Observed -> Rational
latency :: Rational
    } deriving (Int -> Observed -> ShowS
[Observed] -> ShowS
Observed -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Observed] -> ShowS
$cshowList :: [Observed] -> ShowS
show :: Observed -> String
$cshow :: Observed -> String
showsPrec :: Int -> Observed -> ShowS
$cshowsPrec :: Int -> Observed -> ShowS
Show)


type ObserverAction = Observed -> IO ()