-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | logging, benchmarking and monitoring framework
--   
--   logging, benchmarking and monitoring framework
@package iohk-monitoring
@version 0.1.10.1

module Cardano.BM.Data.AggregatedKind
data AggregatedKind
StatsAK :: AggregatedKind
EwmaAK :: !Double -> AggregatedKind
[alpha] :: AggregatedKind -> !Double
instance GHC.Read.Read Cardano.BM.Data.AggregatedKind.AggregatedKind
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.AggregatedKind.AggregatedKind
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.AggregatedKind.AggregatedKind
instance GHC.Show.Show Cardano.BM.Data.AggregatedKind.AggregatedKind
instance GHC.Classes.Eq Cardano.BM.Data.AggregatedKind.AggregatedKind
instance GHC.Generics.Generic Cardano.BM.Data.AggregatedKind.AggregatedKind

module Cardano.BM.Data.BackendKind
data BackendKind
AggregationBK :: BackendKind
EditorBK :: BackendKind
EKGViewBK :: BackendKind
GraylogBK :: BackendKind
KatipBK :: BackendKind
LogBufferBK :: BackendKind
MonitoringBK :: BackendKind
TraceAcceptorBK :: BackendKind
TraceForwarderBK :: BackendKind
UserDefinedBK :: Text -> BackendKind
SwitchboardBK :: BackendKind
instance GHC.Read.Read Cardano.BM.Data.BackendKind.BackendKind
instance GHC.Show.Show Cardano.BM.Data.BackendKind.BackendKind
instance GHC.Classes.Ord Cardano.BM.Data.BackendKind.BackendKind
instance GHC.Classes.Eq Cardano.BM.Data.BackendKind.BackendKind
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.BackendKind.BackendKind
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.BackendKind.BackendKind

module Cardano.BM.Data.Observable
data ObservableInstance
MonotonicClock :: ObservableInstance
MemoryStats :: ObservableInstance
ProcessStats :: ObservableInstance
NetStats :: ObservableInstance
IOStats :: ObservableInstance
SysStats :: ObservableInstance
GhcRtsStats :: ObservableInstance
instance GHC.Read.Read Cardano.BM.Data.Observable.ObservableInstance
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.Observable.ObservableInstance
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.Observable.ObservableInstance
instance GHC.Show.Show Cardano.BM.Data.Observable.ObservableInstance
instance GHC.Classes.Eq Cardano.BM.Data.Observable.ObservableInstance
instance GHC.Generics.Generic Cardano.BM.Data.Observable.ObservableInstance

module Cardano.BM.Data.Rotation
data RotationParameters
RotationParameters :: !Word64 -> !Word -> !Word -> RotationParameters
[rpLogLimitBytes] :: RotationParameters -> !Word64
[rpMaxAgeHours] :: RotationParameters -> !Word
[rpKeepFilesNum] :: RotationParameters -> !Word
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.Rotation.RotationParameters
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.Rotation.RotationParameters
instance GHC.Classes.Ord Cardano.BM.Data.Rotation.RotationParameters
instance GHC.Classes.Eq Cardano.BM.Data.Rotation.RotationParameters
instance GHC.Show.Show Cardano.BM.Data.Rotation.RotationParameters
instance GHC.Generics.Generic Cardano.BM.Data.Rotation.RotationParameters

module Cardano.BM.Data.Severity
data Severity
Debug :: Severity
Info :: Severity
Notice :: Severity
Warning :: Severity
Error :: Severity
Critical :: Severity
Alert :: Severity
Emergency :: Severity
instance GHC.Read.Read Cardano.BM.Data.Severity.Severity
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.Severity.Severity
instance GHC.Generics.Generic Cardano.BM.Data.Severity.Severity
instance GHC.Enum.Enum Cardano.BM.Data.Severity.Severity
instance GHC.Enum.Bounded Cardano.BM.Data.Severity.Severity
instance GHC.Classes.Ord Cardano.BM.Data.Severity.Severity
instance GHC.Classes.Eq Cardano.BM.Data.Severity.Severity
instance GHC.Show.Show Cardano.BM.Data.Severity.Severity
instance GHC.Base.Semigroup Cardano.BM.Data.Severity.Severity
instance GHC.Base.Monoid Cardano.BM.Data.Severity.Severity
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.Severity.Severity

module Cardano.BM.Data.Output
data ScribeKind
FileSK :: ScribeKind
StdoutSK :: ScribeKind
StderrSK :: ScribeKind
JournalSK :: ScribeKind
DevNullSK :: ScribeKind
UserDefinedSK :: ScribeKind
data ScribeFormat
ScText :: ScribeFormat
ScJson :: ScribeFormat
type ScribeId = Text
data ScribePrivacy
ScPublic :: ScribePrivacy
ScPrivate :: ScribePrivacy
data ScribeDefinition
ScribeDefinition :: ScribeKind -> ScribeFormat -> Text -> ScribePrivacy -> Maybe RotationParameters -> Severity -> Severity -> ScribeDefinition
[scKind] :: ScribeDefinition -> ScribeKind
[scFormat] :: ScribeDefinition -> ScribeFormat
[scName] :: ScribeDefinition -> Text
[scPrivacy] :: ScribeDefinition -> ScribePrivacy
[scRotation] :: ScribeDefinition -> Maybe RotationParameters
[scMinSev] :: ScribeDefinition -> Severity
[scMaxSev] :: ScribeDefinition -> Severity
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.Output.ScribeKind
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.Output.ScribeKind
instance GHC.Read.Read Cardano.BM.Data.Output.ScribeKind
instance GHC.Show.Show Cardano.BM.Data.Output.ScribeKind
instance GHC.Classes.Ord Cardano.BM.Data.Output.ScribeKind
instance GHC.Classes.Eq Cardano.BM.Data.Output.ScribeKind
instance GHC.Generics.Generic Cardano.BM.Data.Output.ScribeKind
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.Output.ScribeFormat
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.Output.ScribeFormat
instance GHC.Read.Read Cardano.BM.Data.Output.ScribeFormat
instance GHC.Show.Show Cardano.BM.Data.Output.ScribeFormat
instance GHC.Classes.Ord Cardano.BM.Data.Output.ScribeFormat
instance GHC.Classes.Eq Cardano.BM.Data.Output.ScribeFormat
instance GHC.Generics.Generic Cardano.BM.Data.Output.ScribeFormat
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.Output.ScribePrivacy
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.Output.ScribePrivacy
instance GHC.Show.Show Cardano.BM.Data.Output.ScribePrivacy
instance GHC.Classes.Ord Cardano.BM.Data.Output.ScribePrivacy
instance GHC.Classes.Eq Cardano.BM.Data.Output.ScribePrivacy
instance GHC.Generics.Generic Cardano.BM.Data.Output.ScribePrivacy
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.Output.ScribeDefinition
instance GHC.Show.Show Cardano.BM.Data.Output.ScribeDefinition
instance GHC.Classes.Ord Cardano.BM.Data.Output.ScribeDefinition
instance GHC.Classes.Eq Cardano.BM.Data.Output.ScribeDefinition
instance GHC.Generics.Generic Cardano.BM.Data.Output.ScribeDefinition
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.Output.ScribeDefinition

module Cardano.BM.Data.Configuration
data Representation
Representation :: Severity -> Maybe RotationParameters -> [ScribeDefinition] -> [(ScribeKind, Text)] -> [BackendKind] -> [BackendKind] -> Maybe Endpoint -> Maybe Port -> Maybe HostPort -> Maybe Port -> Maybe RemoteAddr -> Maybe Word -> Maybe [RemoteAddrNamed] -> HashMap Text Value -> Representation
[minSeverity] :: Representation -> Severity
[rotation] :: Representation -> Maybe RotationParameters
[setupScribes] :: Representation -> [ScribeDefinition]
[defaultScribes] :: Representation -> [(ScribeKind, Text)]
[setupBackends] :: Representation -> [BackendKind]
[defaultBackends] :: Representation -> [BackendKind]
[hasEKG] :: Representation -> Maybe Endpoint
[hasGraylog] :: Representation -> Maybe Port
[hasPrometheus] :: Representation -> Maybe HostPort
[hasGUI] :: Representation -> Maybe Port
[traceForwardTo] :: Representation -> Maybe RemoteAddr
[forwardDelay] :: Representation -> Maybe Word
[traceAcceptAt] :: Representation -> Maybe [RemoteAddrNamed]
[options] :: Representation -> HashMap Text Value
type Port = Int
type HostPort = (String, Port)
newtype Endpoint
Endpoint :: HostPort -> Endpoint
data RemoteAddr
RemotePipe :: FilePath -> RemoteAddr
RemoteSocket :: String -> String -> RemoteAddr
data RemoteAddrNamed
RemoteAddrNamed :: Text -> RemoteAddr -> RemoteAddrNamed
[nodeName] :: RemoteAddrNamed -> Text
[remoteAddr] :: RemoteAddrNamed -> RemoteAddr
parseRepresentation :: ByteString -> Either ParseException Representation
readRepresentation :: FilePath -> IO Representation
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.Configuration.Endpoint
instance GHC.Show.Show Cardano.BM.Data.Configuration.Endpoint
instance GHC.Generics.Generic Cardano.BM.Data.Configuration.Endpoint
instance GHC.Classes.Eq Cardano.BM.Data.Configuration.Endpoint
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.Configuration.RemoteAddr
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.Configuration.RemoteAddr
instance GHC.Show.Show Cardano.BM.Data.Configuration.RemoteAddr
instance GHC.Classes.Eq Cardano.BM.Data.Configuration.RemoteAddr
instance GHC.Generics.Generic Cardano.BM.Data.Configuration.RemoteAddr
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.Configuration.RemoteAddrNamed
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.Configuration.RemoteAddrNamed
instance GHC.Show.Show Cardano.BM.Data.Configuration.RemoteAddrNamed
instance GHC.Classes.Eq Cardano.BM.Data.Configuration.RemoteAddrNamed
instance GHC.Generics.Generic Cardano.BM.Data.Configuration.RemoteAddrNamed
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.Configuration.Representation
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.Configuration.Representation
instance GHC.Show.Show Cardano.BM.Data.Configuration.Representation
instance GHC.Generics.Generic Cardano.BM.Data.Configuration.Representation
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.Configuration.Endpoint

module Cardano.BM.Data.Aggregated
data Aggregated
AggregatedStats :: !Stats -> Aggregated
AggregatedEWMA :: !EWMA -> Aggregated
data Stats
Stats :: !Measurable -> !Measurable -> !BaseStats -> !BaseStats -> !BaseStats -> Stats
[flast] :: Stats -> !Measurable
[fold] :: Stats -> !Measurable
[fbasic] :: Stats -> !BaseStats
[fdelta] :: Stats -> !BaseStats
[ftimed] :: Stats -> !BaseStats
data BaseStats
BaseStats :: !Measurable -> !Measurable -> {-# UNPACK #-} !Word64 -> {-# UNPACK #-} !Double -> {-# UNPACK #-} !Double -> BaseStats
[fmin] :: BaseStats -> !Measurable
[fmax] :: BaseStats -> !Measurable
[fcount] :: BaseStats -> {-# UNPACK #-} !Word64
[fsum_A] :: BaseStats -> {-# UNPACK #-} !Double
[fsum_B] :: BaseStats -> {-# UNPACK #-} !Double
data EWMA
EmptyEWMA :: !Double -> EWMA
[alpha] :: EWMA -> !Double
EWMA :: !Double -> !Measurable -> EWMA
[alpha] :: EWMA -> !Double
[avg] :: EWMA -> !Measurable
data Measurable
Microseconds :: {-# UNPACK #-} !Word64 -> Measurable
Nanoseconds :: {-# UNPACK #-} !Word64 -> Measurable
Seconds :: {-# UNPACK #-} !Word64 -> Measurable
Bytes :: {-# UNPACK #-} !Word64 -> Measurable
PureD :: !Double -> Measurable
PureI :: !Integer -> Measurable
Severity :: Severity -> Measurable
showSI :: Measurable -> String
showUnits :: Measurable -> String
getInteger :: Measurable -> Integer
getDouble :: Measurable -> Double
subtractMeasurable :: Measurable -> Measurable -> Measurable
meanOfStats :: BaseStats -> Double
stdevOfStats :: BaseStats -> Double
stats2Text :: Stats -> Text
singletonStats :: Measurable -> Aggregated
updateAggregation :: Measurable -> Aggregated -> Word64 -> Either Text Aggregated
ewma :: EWMA -> Measurable -> Either Text EWMA
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.Aggregated.Measurable
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.Aggregated.Measurable
instance GHC.Generics.Generic Cardano.BM.Data.Aggregated.Measurable
instance GHC.Read.Read Cardano.BM.Data.Aggregated.Measurable
instance GHC.Classes.Eq Cardano.BM.Data.Aggregated.Measurable
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.Aggregated.BaseStats
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.Aggregated.BaseStats
instance GHC.Generics.Generic Cardano.BM.Data.Aggregated.BaseStats
instance GHC.Show.Show Cardano.BM.Data.Aggregated.BaseStats
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.Aggregated.Stats
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.Aggregated.Stats
instance GHC.Generics.Generic Cardano.BM.Data.Aggregated.Stats
instance GHC.Classes.Eq Cardano.BM.Data.Aggregated.Stats
instance GHC.Show.Show Cardano.BM.Data.Aggregated.Stats
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.Aggregated.EWMA
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.Aggregated.EWMA
instance GHC.Generics.Generic Cardano.BM.Data.Aggregated.EWMA
instance GHC.Classes.Eq Cardano.BM.Data.Aggregated.EWMA
instance GHC.Show.Show Cardano.BM.Data.Aggregated.EWMA
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.Aggregated.Aggregated
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.Aggregated.Aggregated
instance GHC.Generics.Generic Cardano.BM.Data.Aggregated.Aggregated
instance GHC.Classes.Eq Cardano.BM.Data.Aggregated.Aggregated
instance GHC.Show.Show Cardano.BM.Data.Aggregated.Aggregated
instance GHC.Classes.Eq Cardano.BM.Data.Aggregated.BaseStats
instance GHC.Classes.Ord Cardano.BM.Data.Aggregated.Measurable
instance GHC.Num.Num Cardano.BM.Data.Aggregated.Measurable
instance GHC.Show.Show Cardano.BM.Data.Aggregated.Measurable

module Cardano.BM.Data.Counter
data Counter
Counter :: !CounterType -> !Text -> !Measurable -> Counter
[cType] :: Counter -> !CounterType
[cName] :: Counter -> !Text
[cValue] :: Counter -> !Measurable
data CounterType
MonotonicClockTime :: CounterType
MemoryCounter :: CounterType
SysInfo :: CounterType
StatInfo :: CounterType
IOCounter :: CounterType
NetCounter :: CounterType
RTSStats :: CounterType
data CounterState
CounterState :: [Counter] -> CounterState
[csCounters] :: CounterState -> [Counter]
data Platform
UnknownPlatform :: Platform
Linux :: Platform
Darwin :: Platform
Windows :: Platform
newtype PlatformCode
PlatformCode :: Platform -> PlatformCode
[platform] :: PlatformCode -> Platform
diffCounters :: [Counter] -> [Counter] -> [Counter]
nameCounter :: Counter -> Text
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.Counter.CounterType
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.Counter.CounterType
instance GHC.Generics.Generic Cardano.BM.Data.Counter.CounterType
instance GHC.Show.Show Cardano.BM.Data.Counter.CounterType
instance GHC.Classes.Eq Cardano.BM.Data.Counter.CounterType
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.Counter.Counter
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.Counter.Counter
instance GHC.Generics.Generic Cardano.BM.Data.Counter.Counter
instance GHC.Classes.Eq Cardano.BM.Data.Counter.Counter
instance GHC.Show.Show Cardano.BM.Data.Counter.Counter
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.Counter.CounterState
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.Counter.CounterState
instance GHC.Generics.Generic Cardano.BM.Data.Counter.CounterState
instance GHC.Classes.Eq Cardano.BM.Data.Counter.CounterState
instance GHC.Show.Show Cardano.BM.Data.Counter.CounterState
instance GHC.Enum.Enum Cardano.BM.Data.Counter.Platform
instance GHC.Classes.Ord Cardano.BM.Data.Counter.Platform
instance GHC.Classes.Eq Cardano.BM.Data.Counter.Platform
instance GHC.Show.Show Cardano.BM.Data.Counter.Platform
instance GHC.Show.Show Cardano.BM.Data.Counter.PlatformCode
instance Data.Aeson.Types.ToJSON.ToJSON Data.Time.Units.Microsecond

module Cardano.BM.Data.LogItem
data LogObject a
LogObject :: LoggerName -> !LOMeta -> !LOContent a -> LogObject a
[loName] :: LogObject a -> LoggerName
[loMeta] :: LogObject a -> !LOMeta
[loContent] :: LogObject a -> !LOContent a
loType :: LogObject a -> Text
loType2Name :: LOContent a -> Text
loTypeEq :: LogObject a -> LogObject a -> Bool
data LOMeta
LOMeta :: {-# UNPACK #-} !UTCTime -> {-# UNPACK #-} !Text -> {-# UNPACK #-} !Text -> !Severity -> !PrivacyAnnotation -> LOMeta
[tstamp] :: LOMeta -> {-# UNPACK #-} !UTCTime
[tid] :: LOMeta -> {-# UNPACK #-} !Text
[hostname] :: LOMeta -> {-# UNPACK #-} !Text
[severity] :: LOMeta -> !Severity
[privacy] :: LOMeta -> !PrivacyAnnotation
mkLOMeta :: MonadIO m => Severity -> PrivacyAnnotation -> m LOMeta
data LOContent a
LogMessage :: a -> LOContent a
LogError :: !Text -> LOContent a
LogValue :: !Text -> !Measurable -> LOContent a
LogStructuredText :: Object -> Text -> LOContent a
LogStructured :: Object -> LOContent a
ObserveOpen :: !CounterState -> LOContent a
ObserveDiff :: !CounterState -> LOContent a
ObserveClose :: !CounterState -> LOContent a
AggregatedMessage :: [(Text, Aggregated)] -> LOContent a
MonitoringEffect :: !MonitorAction -> LOContent a
Command :: !CommandValue -> LOContent a
KillPill :: LOContent a
locTypeEq :: LOContent a -> LOContent a -> Bool
newtype CommandValue
DumpBufferedTo :: BackendKind -> CommandValue
type LoggerName = Text
data MonitorAction
MonitorAlert :: Text -> MonitorAction
MonitorAlterGlobalSeverity :: Severity -> MonitorAction
MonitorAlterSeverity :: LoggerName -> Severity -> MonitorAction
data PrivacyAnnotation
Confidential :: PrivacyAnnotation
Public :: PrivacyAnnotation
data PrivacyAndSeverityAnnotated a
PSA :: !Severity -> !PrivacyAnnotation -> a -> PrivacyAndSeverityAnnotated a
[psaSeverity] :: PrivacyAndSeverityAnnotated a -> !Severity
[psaPrivacy] :: PrivacyAndSeverityAnnotated a -> !PrivacyAnnotation
[psaPayload] :: PrivacyAndSeverityAnnotated a -> a
utc2ns :: UTCTime -> Word64
mapLogObject :: (a -> b) -> LogObject a -> LogObject b
mapLOContent :: (a -> b) -> LOContent a -> LOContent b
loContentEq :: Eq a => LogObject a -> LogObject a -> Bool
loname2text :: [LoggerName] -> Text
instance GHC.Classes.Eq Cardano.BM.Data.LogItem.MonitorAction
instance GHC.Show.Show Cardano.BM.Data.LogItem.MonitorAction
instance GHC.Classes.Eq Cardano.BM.Data.LogItem.CommandValue
instance GHC.Show.Show Cardano.BM.Data.LogItem.CommandValue
instance GHC.Classes.Eq a => GHC.Classes.Eq (Cardano.BM.Data.LogItem.LOContent a)
instance GHC.Show.Show a => GHC.Show.Show (Cardano.BM.Data.LogItem.LOContent a)
instance GHC.Enum.Bounded Cardano.BM.Data.LogItem.PrivacyAnnotation
instance GHC.Enum.Enum Cardano.BM.Data.LogItem.PrivacyAnnotation
instance GHC.Classes.Ord Cardano.BM.Data.LogItem.PrivacyAnnotation
instance GHC.Classes.Eq Cardano.BM.Data.LogItem.PrivacyAnnotation
instance GHC.Show.Show Cardano.BM.Data.LogItem.PrivacyAnnotation
instance GHC.Classes.Eq a => GHC.Classes.Eq (Cardano.BM.Data.LogItem.LogObject a)
instance GHC.Show.Show a => GHC.Show.Show (Cardano.BM.Data.LogItem.LogObject a)
instance GHC.Show.Show a => GHC.Show.Show (Cardano.BM.Data.LogItem.PrivacyAndSeverityAnnotated a)
instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Cardano.BM.Data.LogItem.LogObject a)
instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Cardano.BM.Data.LogItem.LogObject a)
instance GHC.Base.Functor Cardano.BM.Data.LogItem.LogObject
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.LogItem.LOMeta
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.LogItem.LOMeta
instance GHC.Show.Show Cardano.BM.Data.LogItem.LOMeta
instance GHC.Classes.Eq Cardano.BM.Data.LogItem.LOMeta
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.LogItem.PrivacyAnnotation
instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Cardano.BM.Data.LogItem.LOContent a)
instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Cardano.BM.Data.LogItem.LOContent a)
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.LogItem.CommandValue
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.LogItem.CommandValue
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.LogItem.MonitorAction
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.LogItem.MonitorAction

module Cardano.BM.Data.MonitoringEval
data MEvExpr
Compare :: VarName -> (Operator, Operand) -> MEvExpr
AND :: MEvExpr -> MEvExpr -> MEvExpr
OR :: MEvExpr -> MEvExpr -> MEvExpr
NOT :: MEvExpr -> MEvExpr
type MEvPreCond = Maybe MEvExpr
data Operator
GE :: Operator
EQ :: Operator
NE :: Operator
LE :: Operator
LT :: Operator
GT :: Operator
data Operand
OpMeasurable :: Measurable -> Operand
OpVarName :: VarName -> Operand
Operation :: AlgOp -> AlgOperand -> AlgOperand -> Operand
data MEvAction
CreateMessage :: Severity -> !Text -> MEvAction
SetGlobalMinimalSeverity :: Severity -> MEvAction
AlterSeverity :: LoggerName -> Severity -> MEvAction
type VarName = Text
type Environment = HashMap VarName Measurable
parseMaybe :: Text -> Maybe MEvExpr
evaluate :: Environment -> MEvExpr -> Bool
instance GHC.Classes.Eq Cardano.BM.Data.MonitoringEval.Operator
instance GHC.Classes.Eq Cardano.BM.Data.MonitoringEval.AlgOp
instance GHC.Classes.Eq Cardano.BM.Data.MonitoringEval.AlgOperand
instance GHC.Classes.Eq Cardano.BM.Data.MonitoringEval.Operand
instance GHC.Classes.Eq Cardano.BM.Data.MonitoringEval.MEvAction
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.MonitoringEval.MEvAction
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.MonitoringEval.MEvAction
instance GHC.Show.Show Cardano.BM.Data.MonitoringEval.MEvAction
instance GHC.Classes.Eq Cardano.BM.Data.MonitoringEval.MEvExpr
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.MonitoringEval.MEvExpr
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.MonitoringEval.MEvExpr
instance GHC.Show.Show Cardano.BM.Data.MonitoringEval.MEvExpr
instance GHC.Show.Show Cardano.BM.Data.MonitoringEval.Operand
instance GHC.Show.Show Cardano.BM.Data.MonitoringEval.AlgOperand
instance GHC.Show.Show Cardano.BM.Data.MonitoringEval.AlgOp
instance GHC.Show.Show Cardano.BM.Data.MonitoringEval.Operator

module Cardano.BM.Backend.ProcessQueue
processQueue :: TBQueue (Maybe (LogObject a)) -> (LogObject a -> b -> IO b) -> b -> (b -> IO ()) -> IO ()

module Cardano.BM.Counters.Common
getMonoClock :: IO [Counter]
readRTSStats :: IO [Counter]

module Cardano.BM.Data.SubTrace
data SubTrace
Neutral :: SubTrace
UntimedTrace :: SubTrace
NoTrace :: SubTrace
TeeTrace :: LoggerName -> SubTrace
FilterTrace :: [(DropName, UnhideNames)] -> SubTrace
DropOpening :: SubTrace
ObservableTraceSelf :: [ObservableInstance] -> SubTrace
ObservableTrace :: ProcessID -> [ObservableInstance] -> SubTrace
SetSeverity :: Severity -> SubTrace
data DropName
Drop :: NameSelector -> DropName
data UnhideNames
Unhide :: [NameSelector] -> UnhideNames
data NameSelector
Exact :: Text -> NameSelector
StartsWith :: Text -> NameSelector
EndsWith :: Text -> NameSelector
Contains :: Text -> NameSelector
instance GHC.Classes.Eq Cardano.BM.Data.SubTrace.NameSelector
instance GHC.Read.Read Cardano.BM.Data.SubTrace.NameSelector
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.SubTrace.NameSelector
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.SubTrace.NameSelector
instance GHC.Show.Show Cardano.BM.Data.SubTrace.NameSelector
instance GHC.Generics.Generic Cardano.BM.Data.SubTrace.NameSelector
instance GHC.Classes.Eq Cardano.BM.Data.SubTrace.DropName
instance GHC.Read.Read Cardano.BM.Data.SubTrace.DropName
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.SubTrace.DropName
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.SubTrace.DropName
instance GHC.Show.Show Cardano.BM.Data.SubTrace.DropName
instance GHC.Generics.Generic Cardano.BM.Data.SubTrace.DropName
instance GHC.Classes.Eq Cardano.BM.Data.SubTrace.UnhideNames
instance GHC.Read.Read Cardano.BM.Data.SubTrace.UnhideNames
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.SubTrace.UnhideNames
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.SubTrace.UnhideNames
instance GHC.Show.Show Cardano.BM.Data.SubTrace.UnhideNames
instance GHC.Generics.Generic Cardano.BM.Data.SubTrace.UnhideNames
instance GHC.Classes.Eq Cardano.BM.Data.SubTrace.SubTrace
instance GHC.Read.Read Cardano.BM.Data.SubTrace.SubTrace
instance GHC.Show.Show Cardano.BM.Data.SubTrace.SubTrace
instance GHC.Generics.Generic Cardano.BM.Data.SubTrace.SubTrace
instance Data.Aeson.Types.FromJSON.FromJSON Cardano.BM.Data.SubTrace.SubTrace
instance Data.Aeson.Types.ToJSON.ToJSON Cardano.BM.Data.SubTrace.SubTrace
instance Data.Aeson.Types.ToJSON.ToJSON System.Posix.Types.ProcessID
instance Data.Aeson.Types.FromJSON.FromJSON System.Posix.Types.ProcessID

module Cardano.BM.Configuration.Model
newtype Configuration
Configuration :: ConfigurationMVar -> Configuration
[getCG] :: Configuration -> ConfigurationMVar
data ConfigurationInternal
ConfigurationInternal :: Severity -> Maybe RotationParameters -> HashMap LoggerName Severity -> HashMap LoggerName SubTrace -> HashMap Text Value -> HashMap LoggerName [BackendKind] -> [BackendKind] -> [BackendKind] -> HashMap LoggerName [ScribeId] -> HashMap LoggerName [ScribeId] -> [ScribeId] -> [ScribeDefinition] -> HashMap LoggerName AggregatedKind -> AggregatedKind -> HashMap LoggerName (MEvPreCond, MEvExpr, [MEvAction]) -> Maybe Endpoint -> Int -> Maybe (String, Int) -> Maybe RemoteAddr -> Maybe Word -> Maybe [RemoteAddrNamed] -> Int -> ConfigurationInternal
[cgMinSeverity] :: ConfigurationInternal -> Severity
[cgDefRotation] :: ConfigurationInternal -> Maybe RotationParameters
[cgMapSeverity] :: ConfigurationInternal -> HashMap LoggerName Severity
[cgMapSubtrace] :: ConfigurationInternal -> HashMap LoggerName SubTrace
[cgOptions] :: ConfigurationInternal -> HashMap Text Value
[cgMapBackend] :: ConfigurationInternal -> HashMap LoggerName [BackendKind]
[cgDefBackendKs] :: ConfigurationInternal -> [BackendKind]
[cgSetupBackends] :: ConfigurationInternal -> [BackendKind]
[cgMapScribe] :: ConfigurationInternal -> HashMap LoggerName [ScribeId]
[cgMapScribeCache] :: ConfigurationInternal -> HashMap LoggerName [ScribeId]
[cgDefScribes] :: ConfigurationInternal -> [ScribeId]
[cgSetupScribes] :: ConfigurationInternal -> [ScribeDefinition]
[cgMapAggregatedKind] :: ConfigurationInternal -> HashMap LoggerName AggregatedKind
[cgDefAggregatedKind] :: ConfigurationInternal -> AggregatedKind
[cgMonitors] :: ConfigurationInternal -> HashMap LoggerName (MEvPreCond, MEvExpr, [MEvAction])
[cgBindAddrEKG] :: ConfigurationInternal -> Maybe Endpoint
[cgPortGraylog] :: ConfigurationInternal -> Int
[cgBindAddrPrometheus] :: ConfigurationInternal -> Maybe (String, Int)
[cgForwardTo] :: ConfigurationInternal -> Maybe RemoteAddr
[cgForwardDelay] :: ConfigurationInternal -> Maybe Word
[cgAcceptAt] :: ConfigurationInternal -> Maybe [RemoteAddrNamed]
[cgPortGUI] :: ConfigurationInternal -> Int
empty :: IO Configuration
evalFilters :: [(DropName, UnhideNames)] -> LoggerName -> Bool
exportConfiguration :: Configuration -> FilePath -> IO ()
findSubTrace :: Configuration -> Text -> IO (Maybe SubTrace)
getAggregatedKind :: Configuration -> LoggerName -> IO AggregatedKind
getAcceptAt :: Configuration -> IO (Maybe [RemoteAddrNamed])
getBackends :: Configuration -> LoggerName -> IO [BackendKind]
getCachedScribes :: Configuration -> LoggerName -> IO (Maybe [ScribeId])
getDefaultBackends :: Configuration -> IO [BackendKind]
getEKGBindAddr :: Configuration -> IO (Maybe Endpoint)
getForwardTo :: Configuration -> IO (Maybe RemoteAddr)
getForwardDelay :: Configuration -> IO (Maybe Word)
getGUIport :: Configuration -> IO Int
getGraylogPort :: Configuration -> IO Int
getMapOption :: Configuration -> Text -> IO (Maybe Object)
getMonitors :: Configuration -> IO (HashMap LoggerName (MEvPreCond, MEvExpr, [MEvAction]))
getOption :: Configuration -> Text -> IO (Maybe Value)
getPrometheusBindAddr :: Configuration -> IO (Maybe (String, Int))
getScribes :: Configuration -> LoggerName -> IO [ScribeId]
getSetupBackends :: Configuration -> IO [BackendKind]
getSetupScribes :: Configuration -> IO [ScribeDefinition]
getTextOption :: Configuration -> Text -> IO (Maybe Text)
inspectSeverity :: Configuration -> Text -> IO (Maybe Severity)
minSeverity :: Configuration -> IO Severity
setAcceptAt :: Configuration -> Maybe [RemoteAddrNamed] -> IO ()
setAggregatedKind :: Configuration -> LoggerName -> Maybe AggregatedKind -> IO ()
setBackends :: Configuration -> LoggerName -> Maybe [BackendKind] -> IO ()
setCachedScribes :: Configuration -> LoggerName -> Maybe [ScribeId] -> IO ()
setDefaultAggregatedKind :: Configuration -> AggregatedKind -> IO ()
setDefaultBackends :: Configuration -> [BackendKind] -> IO ()
setDefaultScribes :: Configuration -> [ScribeId] -> IO ()
setEKGBindAddr :: Configuration -> Maybe Endpoint -> IO ()
setForwardTo :: Configuration -> Maybe RemoteAddr -> IO ()
setForwardDelay :: Configuration -> Maybe Word -> IO ()
setGUIport :: Configuration -> Int -> IO ()
setGraylogPort :: Configuration -> Int -> IO ()
setMinSeverity :: Configuration -> Severity -> IO ()
setMonitors :: Configuration -> HashMap LoggerName (MEvPreCond, MEvExpr, [MEvAction]) -> IO ()
setOption :: Configuration -> Text -> Value -> IO ()
setPrometheusBindAddr :: Configuration -> Maybe (String, Int) -> IO ()
setScribes :: Configuration -> LoggerName -> Maybe [ScribeId] -> IO ()
setSetupBackends :: Configuration -> [BackendKind] -> IO ()
setSetupScribes :: Configuration -> [ScribeDefinition] -> IO ()
setSeverity :: Configuration -> Text -> Maybe Severity -> IO ()
setSubTrace :: Configuration -> Text -> Maybe SubTrace -> IO ()
setTextOption :: Configuration -> Text -> Text -> IO ()
setup :: FilePath -> IO Configuration
setupFromRepresentation :: Representation -> IO Configuration
testSubTrace :: Configuration -> LoggerName -> LogObject a -> IO (Maybe (LogObject a))
toRepresentation :: Configuration -> IO Representation
updateOption :: Configuration -> Text -> (Maybe Value -> Value) -> IO ()
instance GHC.Classes.Eq Cardano.BM.Configuration.Model.ConfigurationInternal
instance GHC.Show.Show Cardano.BM.Configuration.Model.ConfigurationInternal

module Cardano.BM.Configuration.Static
defaultConfigStdout :: IO Configuration
defaultConfigTesting :: IO Configuration

module Cardano.BM.Configuration
data Configuration
setup :: FilePath -> IO Configuration
minSeverity :: Configuration -> IO Severity
setMinSeverity :: Configuration -> Severity -> IO ()
inspectSeverity :: Configuration -> Text -> IO (Maybe Severity)
setSeverity :: Configuration -> Text -> Maybe Severity -> IO ()
getAcceptAt :: Configuration -> IO (Maybe [RemoteAddrNamed])
getBackends :: Configuration -> LoggerName -> IO [BackendKind]
getForwardTo :: Configuration -> IO (Maybe RemoteAddr)
setForwardTo :: Configuration -> Maybe RemoteAddr -> IO ()
getForwardDelay :: Configuration -> IO (Maybe Word)
setForwardDelay :: Configuration -> Maybe Word -> IO ()
getOption :: Configuration -> Text -> IO (Maybe Value)
getMapOption :: Configuration -> Text -> IO (Maybe Object)
getTextOption :: Configuration -> Text -> IO (Maybe Text)
setOption :: Configuration -> Text -> Value -> IO ()
setTextOption :: Configuration -> Text -> Text -> IO ()
updateOption :: Configuration -> Text -> (Maybe Value -> Value) -> IO ()
findSubTrace :: Configuration -> Text -> IO (Maybe SubTrace)
setSubTrace :: Configuration -> Text -> Maybe SubTrace -> IO ()
getEKGBindAddr :: Configuration -> IO (Maybe Endpoint)
getGraylogPort :: Configuration -> IO Int
getPrometheusBindAddr :: Configuration -> IO (Maybe (String, Int))
getGUIport :: Configuration -> IO Int
getMonitors :: Configuration -> IO (HashMap LoggerName (MEvPreCond, MEvExpr, [MEvAction]))
getTextOptionOrDefault :: Configuration -> Text -> Text -> IO Text
testSeverity :: Configuration -> LoggerName -> LOMeta -> IO Bool
evalFilters :: [(DropName, UnhideNames)] -> LoggerName -> Bool
testSubTrace :: Configuration -> LoggerName -> LogObject a -> IO (Maybe (LogObject a))

module Cardano.BM.Data.Trace
type Trace m a = Tracer m (LoggerName, LogObject a)

module Cardano.BM.Data.Backend
data Backend a
MkBackend :: (LogObject a -> IO ()) -> IO () -> Backend a
[bEffectuate] :: Backend a -> LogObject a -> IO ()
[bUnrealize] :: Backend a -> IO ()
data BackendKind
AggregationBK :: BackendKind
EditorBK :: BackendKind
EKGViewBK :: BackendKind
GraylogBK :: BackendKind
KatipBK :: BackendKind
LogBufferBK :: BackendKind
MonitoringBK :: BackendKind
TraceAcceptorBK :: BackendKind
TraceForwarderBK :: BackendKind
UserDefinedBK :: Text -> BackendKind
SwitchboardBK :: BackendKind
type BackendId = Text
class (IsEffectuator t a, FromJSON a, Exception (BackendFailure t)) => IsBackend t a where {
    type family BackendFailure t :: *;
    type BackendFailure t = GenericBackendFailure;
}
bekind :: IsBackend t a => t a -> BackendKind
realize :: IsBackend t a => Configuration -> IO (t a)
realizefrom :: forall s. (IsBackend t a, IsEffectuator s a) => Configuration -> Trace IO a -> s a -> IO (t a)
realizefrom :: forall s. (IsBackend t a, IsEffectuator s a) => Configuration -> Trace IO a -> s a -> IO (t a)
unrealize :: IsBackend t a => t a -> IO ()
class IsEffectuator t a
effectuate :: IsEffectuator t a => t a -> LogObject a -> IO ()
effectuatefrom :: forall s. (IsEffectuator t a, IsEffectuator s a) => t a -> LogObject a -> s a -> IO ()
effectuatefrom :: forall s. (IsEffectuator t a, IsEffectuator s a) => t a -> LogObject a -> s a -> IO ()
handleOverflow :: IsEffectuator t a => t a -> IO ()
newtype GenericBackendFailure
GenericBackendFailure :: String -> GenericBackendFailure
[unGenericBackendFailure] :: GenericBackendFailure -> String
instance GHC.Exception.Type.Exception Cardano.BM.Data.Backend.GenericBackendFailure
instance GHC.Show.Show Cardano.BM.Data.Backend.GenericBackendFailure

module Cardano.BM.Backend.LogBuffer
data LogBuffer a
readBuffer :: LogBuffer a -> IO [(LoggerName, LogObject a)]
effectuate :: IsEffectuator t a => t a -> LogObject a -> IO ()
realize :: IsBackend t a => Configuration -> IO (t a)
unrealize :: IsBackend t a => t a -> IO ()
instance Cardano.BM.Data.Backend.IsEffectuator Cardano.BM.Backend.LogBuffer.LogBuffer a
instance Data.Aeson.Types.FromJSON.FromJSON a => Cardano.BM.Data.Backend.IsBackend Cardano.BM.Backend.LogBuffer.LogBuffer a

module Cardano.BM.Data.Tracer

-- | example: simply output a message on the console
--   
--   <pre>
--   let logTrace = traceWith $ showTracing $ stdoutTracer
--   in  logTrace "hello world"
--   </pre>
--   
--   example: calling a function and passing in a <a>Tracer</a>
--   
--   <pre>
--   example1 :: IO ()
--   example1 = do
--       let logTrace a = traceWith (showTracing (contramap ("Debug: " ++) stdoutTracer)) a
--       void $ callFun1 logTrace
--   </pre>
--   
--   <pre>
--   callFun1 :: (String -&gt; IO ()) -&gt; IO Int
--   callFun1 logTrace = do
--       logTrace "in function 1"
--       return 42
--   </pre>
--   
--   <a>runTracer</a> evaluates a <a>Tracer</a> (i.e. consumes its
--   argument)
newtype Tracer (m :: Type -> Type) a
Tracer :: (a -> m ()) -> Tracer (m :: Type -> Type) a
[runTracer] :: Tracer (m :: Type -> Type) a -> a -> m ()
data TracingVerbosity
MinimalVerbosity :: TracingVerbosity
NormalVerbosity :: TracingVerbosity
MaximalVerbosity :: TracingVerbosity
class (Monad m, HasPrivacyAnnotation b, HasSeverityAnnotation b) => Transformable a m b
trTransformer :: Transformable a m b => TracingVerbosity -> Trace m a -> Tracer m b
trTransformer :: Transformable a m b => TracingVerbosity -> Trace m a -> Tracer m b
class Monad m => ToLogObject m
toLogObject :: (ToLogObject m, ToObject a, Transformable a m b) => Trace m a -> Tracer m b
toLogObject' :: (ToLogObject m, ToObject a, Transformable a m b) => TracingVerbosity -> Trace m a -> Tracer m b
toLogObjectVerbose :: (ToLogObject m, ToObject a, Transformable a m b) => Trace m a -> Tracer m b
toLogObjectVerbose :: (ToLogObject m, ToObject a, Transformable a m b) => Trace m a -> Tracer m b
toLogObjectMinimal :: (ToLogObject m, ToObject a, Transformable a m b) => Trace m a -> Tracer m b
toLogObjectMinimal :: (ToLogObject m, ToObject a, Transformable a m b) => Trace m a -> Tracer m b
class ToObject a
toObject :: ToObject a => TracingVerbosity -> a -> Object
toObject :: (ToObject a, ToJSON a) => TracingVerbosity -> a -> Object
textTransformer :: ToObject a => a -> Object -> Text
textTransformer :: ToObject a => a -> Object -> Text
class HasTextFormatter a
formatText :: HasTextFormatter a => a -> Object -> Text
formatText :: HasTextFormatter a => a -> Object -> Text
class HasSeverityAnnotation a
getSeverityAnnotation :: HasSeverityAnnotation a => a -> Severity
getSeverityAnnotation :: HasSeverityAnnotation a => a -> Severity
class HasPrivacyAnnotation a
getPrivacyAnnotation :: HasPrivacyAnnotation a => a -> PrivacyAnnotation
getPrivacyAnnotation :: HasPrivacyAnnotation a => a -> PrivacyAnnotation
data WithSeverity a
WithSeverity :: Severity -> a -> WithSeverity a
data WithPrivacyAnnotation a
WithPrivacyAnnotation :: PrivacyAnnotation -> a -> WithPrivacyAnnotation a
contramap :: Contravariant f => (a -> b) -> f b -> f a
mkObject :: ToObject a => [(Text, a)] -> HashMap Text a
emptyObject :: ToObject a => HashMap Text a

-- | trace an observable value with a <a>Tracer</a>
traceWith :: Tracer m a -> a -> m ()

-- | natural transformation from monad <tt>m</tt> to monad <tt>n</tt>.
natTracer :: (forall x. () => m x -> n x) -> Tracer m s -> Tracer n s

-- | this <a>Tracer</a> forgets about all arguments
nullTracer :: forall (m :: Type -> Type) a. Applicative m => Tracer m a

-- | Output a traced <a>String</a> to <tt>stdout</tt>
stdoutTracer :: forall (m :: Type -> Type). MonadIO m => Tracer m String

-- | Output a traced <a>String</a> using <a>Trace</a>
debugTracer :: forall (m :: Type -> Type). Applicative m => Tracer m String

-- | transform a traced value to a showable instance.
showTracing :: forall a (m :: Type -> Type). Show a => Tracer m String -> Tracer m a
trStructured :: (ToObject b, MonadIO m, HasPrivacyAnnotation b, HasSeverityAnnotation b) => TracingVerbosity -> Trace m a -> Tracer m b
trStructuredText :: (ToObject b, MonadIO m, HasTextFormatter b, HasPrivacyAnnotation b, HasSeverityAnnotation b) => TracingVerbosity -> Trace m a -> Tracer m b

-- | conditionally trace an observable given the evaluation of a predicate.
condTracing :: forall (m :: Type -> Type) a. Monad m => (a -> Bool) -> Tracer m a -> Tracer m a

-- | conditionally trace an observable given the evaluation of a predicate
--   in a monadic context.
condTracingM :: Monad m => m (a -> Bool) -> Tracer m a -> Tracer m a
annotateSeverity :: HasSeverityAnnotation a => Tracer m (WithSeverity a) -> Tracer m a
filterSeverity :: forall m a. (Monad m, HasSeverityAnnotation a) => (a -> m Severity) -> Tracer m a -> Tracer m a
setSeverity :: Severity -> Trace m a -> Trace m a
severityDebug :: Trace m a -> Trace m a
severityInfo :: Trace m a -> Trace m a
severityNotice :: Trace m a -> Trace m a
severityWarning :: Trace m a -> Trace m a
severityError :: Trace m a -> Trace m a
severityCritical :: Trace m a -> Trace m a
severityAlert :: Trace m a -> Trace m a
severityEmergency :: Trace m a -> Trace m a
annotateConfidential :: Trace m a -> Trace m a
annotatePublic :: Trace m a -> Trace m a
annotatePrivacyAnnotation :: HasPrivacyAnnotation a => Tracer m (WithPrivacyAnnotation a) -> Tracer m a
filterPrivacyAnnotation :: forall m a. (Monad m, HasPrivacyAnnotation a) => (a -> m PrivacyAnnotation) -> Tracer m a -> Tracer m a
instance GHC.Classes.Ord Cardano.BM.Data.Tracer.TracingVerbosity
instance GHC.Read.Read Cardano.BM.Data.Tracer.TracingVerbosity
instance GHC.Classes.Eq Cardano.BM.Data.Tracer.TracingVerbosity
instance Cardano.BM.Data.Tracer.ToLogObject GHC.Types.IO
instance Cardano.BM.Data.Tracer.Transformable a GHC.Types.IO GHC.Types.Int
instance Cardano.BM.Data.Tracer.Transformable a GHC.Types.IO GHC.Integer.Type.Integer
instance Cardano.BM.Data.Tracer.Transformable a GHC.Types.IO GHC.Word.Word64
instance Cardano.BM.Data.Tracer.Transformable a GHC.Types.IO GHC.Types.Double
instance Cardano.BM.Data.Tracer.Transformable a GHC.Types.IO GHC.Types.Float
instance Cardano.BM.Data.Tracer.Transformable Data.Text.Internal.Text GHC.Types.IO Data.Text.Internal.Text
instance Cardano.BM.Data.Tracer.Transformable GHC.Base.String GHC.Types.IO GHC.Base.String
instance Cardano.BM.Data.Tracer.Transformable Data.Text.Internal.Text GHC.Types.IO GHC.Base.String
instance Cardano.BM.Data.Tracer.Transformable GHC.Base.String GHC.Types.IO Data.Text.Internal.Text
instance (GHC.Base.Monad m, Cardano.BM.Data.Tracer.Transformable t m a) => Cardano.BM.Data.Tracer.Transformable t m (Cardano.BM.Data.Tracer.WithSeverity a)
instance (GHC.Base.Monad m, Cardano.BM.Data.Tracer.Transformable t m a) => Cardano.BM.Data.Tracer.Transformable t m (Cardano.BM.Data.Tracer.WithPrivacyAnnotation a)
instance Cardano.BM.Data.Tracer.HasPrivacyAnnotation (Cardano.BM.Data.Tracer.WithPrivacyAnnotation a)
instance Cardano.BM.Data.Tracer.HasPrivacyAnnotation a => Cardano.BM.Data.Tracer.HasPrivacyAnnotation (Cardano.BM.Data.Tracer.WithSeverity a)
instance Cardano.BM.Data.Tracer.HasPrivacyAnnotation GHC.Types.Double
instance Cardano.BM.Data.Tracer.HasPrivacyAnnotation GHC.Types.Float
instance Cardano.BM.Data.Tracer.HasPrivacyAnnotation GHC.Types.Int
instance Cardano.BM.Data.Tracer.HasPrivacyAnnotation GHC.Integer.Type.Integer
instance Cardano.BM.Data.Tracer.HasPrivacyAnnotation GHC.Base.String
instance Cardano.BM.Data.Tracer.HasPrivacyAnnotation Data.Text.Internal.Text
instance Cardano.BM.Data.Tracer.HasPrivacyAnnotation GHC.Word.Word64
instance Cardano.BM.Data.Tracer.HasSeverityAnnotation (Cardano.BM.Data.Tracer.WithSeverity a)
instance Cardano.BM.Data.Tracer.HasSeverityAnnotation a => Cardano.BM.Data.Tracer.HasSeverityAnnotation (Cardano.BM.Data.Tracer.WithPrivacyAnnotation a)
instance Cardano.BM.Data.Tracer.HasSeverityAnnotation GHC.Types.Double
instance Cardano.BM.Data.Tracer.HasSeverityAnnotation GHC.Types.Float
instance Cardano.BM.Data.Tracer.HasSeverityAnnotation GHC.Types.Int
instance Cardano.BM.Data.Tracer.HasSeverityAnnotation GHC.Integer.Type.Integer
instance Cardano.BM.Data.Tracer.HasSeverityAnnotation GHC.Base.String
instance Cardano.BM.Data.Tracer.HasSeverityAnnotation Data.Text.Internal.Text
instance Cardano.BM.Data.Tracer.HasSeverityAnnotation GHC.Word.Word64
instance Cardano.BM.Data.Tracer.ToObject ()
instance Cardano.BM.Data.Tracer.ToObject GHC.Base.String
instance Cardano.BM.Data.Tracer.ToObject Data.Text.Internal.Text
instance Cardano.BM.Data.Tracer.ToObject Data.Aeson.Types.Internal.Value
instance Data.Aeson.Types.ToJSON.ToJSON a => Cardano.BM.Data.Tracer.ToObject (Cardano.BM.Data.LogItem.LogObject a)
instance Data.Aeson.Types.ToJSON.ToJSON a => Cardano.BM.Data.Tracer.ToObject (Cardano.BM.Data.LogItem.LOContent a)

module Cardano.BM.Data.Transformers
liftCounting :: forall m a. LOMeta -> LoggerName -> Text -> Trace m a -> Tracer m (Counting (LoggerName, LogObject a))
liftFolding :: forall m f a. Integral f => LOMeta -> LoggerName -> Text -> Trace m a -> Tracer m (Folding (LoggerName, LogObject a) f)
setHostname :: Text -> Trace m a -> Trace m a


-- | A shim layer for `Win32-network`'s <a>IOManager</a>
module Cardano.BM.IOManager

module Cardano.BM.Rotator
cleanupRotator :: RotationParameters -> FilePath -> IO ()
evalRotator :: RotationParameters -> FilePath -> IO (Handle, Integer, UTCTime)
initializeRotator :: RotationParameters -> FilePath -> IO (Handle, Integer, UTCTime)
latestLogFile :: FilePath -> IO (Maybe FilePath)
prtoutException :: Exception e => String -> e -> IO ()
nameLogFile :: FilePath -> IO FilePath
tsformat :: String
listLogFiles :: FilePath -> IO (Maybe (NonEmpty FilePath))

module Cardano.BM.Backend.Log
data Log a
effectuate :: IsEffectuator t a => t a -> LogObject a -> IO ()
realize :: IsBackend t a => Configuration -> IO (t a)
unrealize :: IsBackend t a => t a -> IO ()
registerScribe :: Log a -> Scribe -> ScribeId -> IO ()
sev2klog :: Severity -> Severity
data Scribe
instance GHC.Show.Show Cardano.BM.Backend.Log.FileDescription
instance Data.Aeson.Types.ToJSON.ToJSON a => Katip.Core.ToObject (Cardano.BM.Data.LogItem.LogObject a)
instance Katip.Core.ToObject Data.Text.Internal.Text
instance Data.Aeson.Types.ToJSON.ToJSON a => Katip.Core.ToObject (Cardano.BM.Data.LogItem.LOContent a)
instance Katip.Core.ToObject Data.Aeson.Types.Internal.Value
instance Data.Aeson.Types.ToJSON.ToJSON a => Katip.Core.ToObject (GHC.Maybe.Maybe (Cardano.BM.Data.LogItem.LOContent a))
instance Data.Aeson.Types.ToJSON.ToJSON a => Cardano.BM.Data.Backend.IsEffectuator Cardano.BM.Backend.Log.Log a
instance (Data.Aeson.Types.ToJSON.ToJSON a, Data.Aeson.Types.FromJSON.FromJSON a) => Cardano.BM.Data.Backend.IsBackend Cardano.BM.Backend.Log.Log a
instance (Data.Aeson.Types.ToJSON.ToJSON a, Data.Aeson.Types.ToJSON.ToJSON b, Katip.Core.ToObject a, Katip.Core.ToObject b) => Katip.Core.ToObject (GHC.Maybe.Maybe (Data.Either.Either a b))
instance (Data.Aeson.Types.ToJSON.ToJSON a, Data.Aeson.Types.ToJSON.ToJSON b, Katip.Core.ToObject a, Katip.Core.ToObject b) => Katip.Core.LogItem (GHC.Maybe.Maybe (Data.Either.Either a b))
instance Data.Aeson.Types.ToJSON.ToJSON a => Katip.Core.LogItem (Cardano.BM.Data.LogItem.LogObject a)
instance Katip.Core.LogItem Data.Text.Internal.Text
instance Data.Aeson.Types.ToJSON.ToJSON a => Katip.Core.LogItem (GHC.Maybe.Maybe (Cardano.BM.Data.LogItem.LOContent a))

module Cardano.BM.Backend.Switchboard
data Switchboard a
mainTraceConditionally :: IsEffectuator eff a => Configuration -> eff a -> Trace IO a
readLogBuffer :: Switchboard a -> IO [(LoggerName, LogObject a)]
effectuate :: IsEffectuator t a => t a -> LogObject a -> IO ()
realize :: IsBackend t a => Configuration -> IO (t a)
unrealize :: IsBackend t a => t a -> IO ()
waitForTermination :: Switchboard a -> IO ()
addUserDefinedBackend :: Switchboard a -> Backend a -> Text -> IO ()
addExternalBackend :: Switchboard a -> Backend a -> BackendKind -> IO ()
addExternalScribe :: Switchboard a -> Scribe -> Text -> IO ()
instance GHC.Show.Show Cardano.BM.Backend.Switchboard.SwitchboardStatus
instance GHC.Classes.Eq Cardano.BM.Backend.Switchboard.SwitchboardStatus
instance Cardano.BM.Data.Backend.IsEffectuator Cardano.BM.Backend.Switchboard.Switchboard a
instance (Data.Aeson.Types.FromJSON.FromJSON a, Data.Aeson.Types.ToJSON.ToJSON a) => Cardano.BM.Data.Backend.IsBackend Cardano.BM.Backend.Switchboard.Switchboard a

module Cardano.BM.Plugin
data Plugin a
BackendPlugin :: !Backend a -> BackendKind -> Plugin a
ScribePlugin :: Scribe -> ScribeId -> Plugin a
loadPlugin :: Switchboard a -> Plugin a -> IO ()

module Cardano.BM.Snocket

-- | Named pipes and Berkeley sockets have different API when accepting a
--   connection. For named pipes the file descriptor created by
--   <tt>createNamedPipe</tt> is supposed to be used for the first
--   connected client. Named pipe accept loop looks this way:
--   
--   <pre>
--   acceptLoop k = do
--     h &lt;- createNamedPipe name
--     connectNamedPipe h
--     -- h is now in connected state
--     forkIO (k h)
--     acceptLoop k
--   </pre>
--   
--   For Berkeley sockets equivalent loop starts by creating a socket which
--   accepts connections and accept returns a new socket in connected state
--   
--   <pre>
--   acceptLoop k = do
--       s &lt;- socket ...
--       bind s address
--       listen s
--       loop s
--     where
--       loop s = do
--         (s' , _addr') &lt;- accept s
--         -- s' is in connected state
--         forkIO (k s')
--         loop s
--   </pre>
--   
--   To make common API for both we use a recursive type <a>Accept</a>, see
--   <a>berkeleyAccept</a> below. Creation of a socket / named pipe is part
--   of <a>Snocket</a>, but this means we need to have different recursion
--   step for named pipe &amp; sockets. For sockets its recursion step will
--   always return <a>accept</a> syscall; for named pipes the first
--   callback will reuse the file descriptor created by <a>open</a> and
--   only subsequent calls will create a new file descriptor by
--   <tt>createNamedPipe</tt>, see <tt>namedPipeSnocket</tt>.
newtype Accept addr fd
Accept :: IO (fd, addr, Accept addr fd) -> Accept addr fd
[runAccept] :: Accept addr fd -> IO (fd, addr, Accept addr fd)

-- | Arguments of <a>Accept</a> are in the wrong order.
--   
--   TODO: this can be fixed later.
fmapAccept :: (addr -> addr') -> Accept addr fd -> Accept addr' fd
mkListeningSocket :: Snocket IO fd addr -> Maybe addr -> AddressFamily addr -> IO fd

-- | We support either sockets or named pipes.
data AddressFamily addr
[SocketFamily] :: !Family -> AddressFamily SockAddr
[LocalFamily] :: AddressFamily LocalAddress

-- | Abstract communication interface that can be used by more than
--   <a>Socket</a>. Snockets are polymorphic over monad which is used, this
--   feature is useful for testing and/or simulations.
data Snocket m fd addr
Snocket :: (fd -> m addr) -> (fd -> m addr) -> (addr -> AddressFamily addr) -> (AddressFamily addr -> m fd) -> (addr -> m fd) -> (fd -> addr -> m ()) -> (fd -> addr -> m ()) -> (fd -> m ()) -> (fd -> Accept addr fd) -> (fd -> m ()) -> Snocket m fd addr
[getLocalAddr] :: Snocket m fd addr -> fd -> m addr
[getRemoteAddr] :: Snocket m fd addr -> fd -> m addr
[addrFamily] :: Snocket m fd addr -> addr -> AddressFamily addr
[open] :: Snocket m fd addr -> AddressFamily addr -> m fd

-- | ^ Open a file descriptor: socket=<tt>socket</tt>,
--   namedPipe=<tt>CreateNamedPipe</tt>
[openToConnect] :: Snocket m fd addr -> addr -> m fd

-- | ^ A way to create <tt>fd</tt> to pass to <a>connect</a>. For named
--   pipes it uses <tt>CreateFile</tt>
[connect] :: Snocket m fd addr -> fd -> addr -> m ()

-- | ^ <a>connect</a> is only needed for Berkeley sockets, for named pipes
--   this is a no-op.
[bind] :: Snocket m fd addr -> fd -> addr -> m ()
[listen] :: Snocket m fd addr -> fd -> m ()
[accept] :: Snocket m fd addr -> fd -> Accept addr fd
[close] :: Snocket m fd addr -> fd -> m ()
type SocketSnocket = Snocket IO Socket SockAddr

-- | Create a <a>Snocket</a> for the given <a>Family</a>. In the
--   <a>bind</a> method set <a>ReuseAddr</a> and <a>ReusePort</a>.
socketSnocket :: IOManager -> SocketSnocket

-- | System dependent LocalSnocket type
type LocalSnocket = Snocket IO Socket LocalAddress
localSnocket :: IOManager -> FilePath -> LocalSnocket

-- | Local address, on Unix is associated with <a>AF_UNIX</a> family, on
--   
--   Windows with `named-pipes`.
newtype LocalAddress
LocalAddress :: FilePath -> LocalAddress
[getFilePath] :: LocalAddress -> FilePath
type LocalFD = Socket
localAddressFromPath :: FilePath -> LocalAddress
localFDToHandle :: LocalFD -> IO Handle
instance GHC.Classes.Ord Cardano.BM.Snocket.LocalAddress
instance GHC.Classes.Eq Cardano.BM.Snocket.LocalAddress
instance GHC.Show.Show Cardano.BM.Snocket.LocalAddress
instance GHC.Classes.Eq (Cardano.BM.Snocket.AddressFamily addr)
instance GHC.Show.Show (Cardano.BM.Snocket.AddressFamily addr)

module Cardano.BM.Stats.Resources
data Resources a
Resources :: !a -> !a -> !a -> !a -> !a -> !a -> !a -> !a -> !a -> !a -> Resources a
[rCentiCpu] :: Resources a -> !a
[rCentiGC] :: Resources a -> !a
[rCentiMut] :: Resources a -> !a
[rGcsMajor] :: Resources a -> !a
[rGcsMinor] :: Resources a -> !a
[rAlloc] :: Resources a -> !a
[rLive] :: Resources a -> !a
[rRSS] :: Resources a -> !a
[rCentiBlkIO] :: Resources a -> !a
[rThreads] :: Resources a -> !a

-- | Concrete data provided by <tt>readResourceStats</tt>. (See
--   platform-specific files in Cardano.BM.Counters)
type ResourceStats = Resources Word64

-- | 64-bit unsigned integer type
data Word64
instance GHC.Show.Show a => GHC.Show.Show (Cardano.BM.Stats.Resources.Resources a)
instance GHC.Generics.Generic (Cardano.BM.Stats.Resources.Resources a)
instance GHC.Base.Functor Cardano.BM.Stats.Resources.Resources
instance GHC.Base.Applicative Cardano.BM.Stats.Resources.Resources
instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Cardano.BM.Stats.Resources.Resources a)
instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Cardano.BM.Stats.Resources.Resources a)

module Cardano.BM.Counters.Linux
readCounters :: SubTrace -> IO [Counter]
readResourceStats :: IO (Maybe ResourceStats)

module Cardano.BM.Stats
data Resources a

-- | Concrete data provided by <tt>readResourceStats</tt>. (See
--   platform-specific files in Cardano.BM.Counters)
type ResourceStats = Resources Word64
readResourceStats :: IO (Maybe ResourceStats)

module Cardano.BM.Counters
readCounters :: SubTrace -> IO [Counter]
getMonoClock :: IO [Counter]

module Cardano.BM.Counters.Dummy
readCounters :: SubTrace -> IO [Counter]
readResourceStats :: IO (Maybe ResourceStats)

module Cardano.BM.Trace
type Trace m a = Tracer m (LoggerName, LogObject a)
stdoutTrace :: Trace IO Text

-- | this <a>Tracer</a> forgets about all arguments
nullTracer :: forall (m :: Type -> Type) a. Applicative m => Tracer m a
traceInTVar :: TVar [a] -> Tracer STM a
traceInTVarIO :: TVar [a] -> Tracer IO a
appendName :: LoggerName -> Trace m a -> Trace m a
modifyName :: (LoggerName -> LoggerName) -> Trace m a -> Trace m a
natTrace :: (forall x. m x -> n x) -> Tracer m (LoggerName, LogObject a) -> Tracer n (LoggerName, LogObject a)
traceNamedObject :: MonadIO m => Trace m a -> (LOMeta, LOContent a) -> m ()
traceNamedItem :: MonadIO m => Trace m a -> PrivacyAnnotation -> Severity -> a -> m ()
logAlert :: MonadIO m => Trace m a -> a -> m ()
logAlertS :: MonadIO m => Trace m a -> a -> m ()
logCritical :: MonadIO m => Trace m a -> a -> m ()
logCriticalS :: MonadIO m => Trace m a -> a -> m ()
logDebug :: MonadIO m => Trace m a -> a -> m ()
logDebugS :: MonadIO m => Trace m a -> a -> m ()
logEmergency :: MonadIO m => Trace m a -> a -> m ()
logEmergencyS :: MonadIO m => Trace m a -> a -> m ()
logError :: MonadIO m => Trace m a -> a -> m ()
logErrorS :: MonadIO m => Trace m a -> a -> m ()
logInfo :: MonadIO m => Trace m a -> a -> m ()
logInfoS :: MonadIO m => Trace m a -> a -> m ()
logNotice :: MonadIO m => Trace m a -> a -> m ()
logNoticeS :: MonadIO m => Trace m a -> a -> m ()
logWarning :: MonadIO m => Trace m a -> a -> m ()
logWarningS :: MonadIO m => Trace m a -> a -> m ()

module Cardano.BM.Setup
setupTrace :: (MonadIO m, ToJSON a, FromJSON a, ToObject a) => Either FilePath Configuration -> Text -> m (Trace m a)
setupTrace_ :: (MonadIO m, ToJSON a, FromJSON a, ToObject a) => Configuration -> Text -> m (Trace m a, Switchboard a)
shutdown :: (ToJSON a, FromJSON a, ToObject a) => Switchboard a -> IO ()
withTrace :: (MonadIO m, MonadMask m, ToJSON a, FromJSON a, ToObject a) => Configuration -> Text -> (Trace m a -> m t) -> m t

module Cardano.BM.Observer.Monadic
bracketObserveIO :: Configuration -> Trace IO a -> Severity -> Text -> IO t -> IO t
bracketObserveM :: (MonadCatch m, MonadIO m) => Configuration -> Trace m a -> Severity -> Text -> m t -> m t
bracketObserveX :: MonadIO m => Configuration -> Trace m a -> Severity -> Text -> m t -> m t
observeOpen :: (MonadCatch m, MonadIO m) => SubTrace -> Severity -> Trace m a -> m (Either SomeException CounterState)
observeClose :: (MonadCatch m, MonadIO m) => SubTrace -> Severity -> Trace m a -> CounterState -> [(LOMeta, LOContent a)] -> m (Either SomeException ())

module Cardano.BM.Observer.STM
bracketObserveIO :: Configuration -> Trace IO a -> Severity -> Text -> STM t -> IO t
bracketObserveLogIO :: Configuration -> Trace IO a -> Severity -> Text -> STM (t, [(LOMeta, LOContent a)]) -> IO t

module Cardano.BM.Internal.ElidingTracer
class ElidingTracer a
doelide :: ElidingTracer a => a -> Bool
isEquivalent :: ElidingTracer a => a -> a -> Bool
newstate :: ElidingTracer a => IO (MVar (Maybe a, Integer))
newstate :: ElidingTracer a => IO (MVar (Maybe a, Integer))
starteliding :: (ElidingTracer a, ToObject t, Transformable t IO a) => TracingVerbosity -> Trace IO t -> a -> IO (Maybe a, Integer)
starteliding :: (ElidingTracer a, ToObject t, Transformable t IO a) => TracingVerbosity -> Trace IO t -> a -> IO (Maybe a, Integer)
conteliding :: (ElidingTracer a, ToObject t, Transformable t IO a) => TracingVerbosity -> Trace IO t -> a -> (Maybe a, Integer) -> IO (Maybe a, Integer)
conteliding :: (ElidingTracer a, Transformable t IO a) => TracingVerbosity -> Trace IO t -> a -> (Maybe a, Integer) -> IO (Maybe a, Integer)
stopeliding :: (ElidingTracer a, ToObject t, Transformable t IO a) => TracingVerbosity -> Trace IO t -> a -> (Maybe a, Integer) -> IO (Maybe a, Integer)
stopeliding :: (ElidingTracer a, ToObject t, Transformable t IO a) => TracingVerbosity -> Trace IO t -> a -> (Maybe a, Integer) -> IO (Maybe a, Integer)
reportelided :: (ElidingTracer a, ToObject t, Transformable t IO a) => TracingVerbosity -> Trace IO t -> a -> Integer -> IO ()
reportelided :: (ElidingTracer a, ToObject t, Transformable t IO a) => TracingVerbosity -> Trace IO t -> a -> Integer -> IO ()
elideToLogObject :: (ElidingTracer a, ToObject t, Transformable t IO a) => TracingVerbosity -> MVar (Maybe a, Integer) -> Trace IO t -> Tracer IO a
elideToLogObject :: (ElidingTracer a, ToObject t, Transformable t IO a) => TracingVerbosity -> MVar (Maybe a, Integer) -> Trace IO t -> Tracer IO a
defaultelidedreporting :: (ToObject t, Transformable t IO a) => TracingVerbosity -> Trace IO t -> a -> Integer -> IO ()

module Cardano.BM.Tracer

-- | example: simply output a message on the console
--   
--   <pre>
--   let logTrace = traceWith $ showTracing $ stdoutTracer
--   in  logTrace "hello world"
--   </pre>
--   
--   example: calling a function and passing in a <a>Tracer</a>
--   
--   <pre>
--   example1 :: IO ()
--   example1 = do
--       let logTrace a = traceWith (showTracing (contramap ("Debug: " ++) stdoutTracer)) a
--       void $ callFun1 logTrace
--   </pre>
--   
--   <pre>
--   callFun1 :: (String -&gt; IO ()) -&gt; IO Int
--   callFun1 logTrace = do
--       logTrace "in function 1"
--       return 42
--   </pre>
--   
--   <a>runTracer</a> evaluates a <a>Tracer</a> (i.e. consumes its
--   argument)
newtype Tracer (m :: Type -> Type) a
Tracer :: (a -> m ()) -> Tracer (m :: Type -> Type) a
[runTracer] :: Tracer (m :: Type -> Type) a -> a -> m ()
bracketObserve :: forall m s e b d. Monad m => (m s, m e, Tracer m (Observable s e d)) -> m b -> m b
example :: IO Int
exampleWithChoose :: IO Int
instance GHC.Show.Show a => GHC.Show.Show (Cardano.BM.Tracer.AddSub a)
instance GHC.Show.Show (Cardano.BM.Tracer.ObservableS Cardano.BM.Tracer.Time)
instance GHC.Show.Show (Cardano.BM.Tracer.ObservableS (Cardano.BM.Tracer.AddSub Cardano.BM.Tracer.Time))
instance GHC.Base.Applicative m => Data.Functor.Contravariant.Divisible.Divisible (Control.Tracer.Tracer m)
instance GHC.Base.Applicative m => Data.Functor.Contravariant.Divisible.Decidable (Control.Tracer.Tracer m)

module Cardano.BM.Tracing

-- | example: simply output a message on the console
--   
--   <pre>
--   let logTrace = traceWith $ showTracing $ stdoutTracer
--   in  logTrace "hello world"
--   </pre>
--   
--   example: calling a function and passing in a <a>Tracer</a>
--   
--   <pre>
--   example1 :: IO ()
--   example1 = do
--       let logTrace a = traceWith (showTracing (contramap ("Debug: " ++) stdoutTracer)) a
--       void $ callFun1 logTrace
--   </pre>
--   
--   <pre>
--   callFun1 :: (String -&gt; IO ()) -&gt; IO Int
--   callFun1 logTrace = do
--       logTrace "in function 1"
--       return 42
--   </pre>
--   
--   <a>runTracer</a> evaluates a <a>Tracer</a> (i.e. consumes its
--   argument)
newtype Tracer (m :: Type -> Type) a
Tracer :: (a -> m ()) -> Tracer (m :: Type -> Type) a
[runTracer] :: Tracer (m :: Type -> Type) a -> a -> m ()
type Trace m a = Tracer m (LoggerName, LogObject a)
data LogObject a
LogObject :: LoggerName -> !LOMeta -> !LOContent a -> LogObject a
[loName] :: LogObject a -> LoggerName
[loMeta] :: LogObject a -> !LOMeta
[loContent] :: LogObject a -> !LOContent a
data PrivacyAnnotation
Confidential :: PrivacyAnnotation
Public :: PrivacyAnnotation
data Severity
Debug :: Severity
Info :: Severity
Notice :: Severity
Warning :: Severity
Error :: Severity
Critical :: Severity
Alert :: Severity
Emergency :: Severity
class Monad m => ToLogObject m
toLogObject :: (ToLogObject m, ToObject a, Transformable a m b) => Trace m a -> Tracer m b
toLogObject' :: (ToLogObject m, ToObject a, Transformable a m b) => TracingVerbosity -> Trace m a -> Tracer m b
toLogObjectVerbose :: (ToLogObject m, ToObject a, Transformable a m b) => Trace m a -> Tracer m b
toLogObjectVerbose :: (ToLogObject m, ToObject a, Transformable a m b) => Trace m a -> Tracer m b
toLogObjectMinimal :: (ToLogObject m, ToObject a, Transformable a m b) => Trace m a -> Tracer m b
toLogObjectMinimal :: (ToLogObject m, ToObject a, Transformable a m b) => Trace m a -> Tracer m b
class ToObject a
toObject :: ToObject a => TracingVerbosity -> a -> Object
toObject :: (ToObject a, ToJSON a) => TracingVerbosity -> a -> Object
textTransformer :: ToObject a => a -> Object -> Text
textTransformer :: ToObject a => a -> Object -> Text
class (Monad m, HasPrivacyAnnotation b, HasSeverityAnnotation b) => Transformable a m b
trTransformer :: Transformable a m b => TracingVerbosity -> Trace m a -> Tracer m b
trTransformer :: Transformable a m b => TracingVerbosity -> Trace m a -> Tracer m b
class HasPrivacyAnnotation a
getPrivacyAnnotation :: HasPrivacyAnnotation a => a -> PrivacyAnnotation
getPrivacyAnnotation :: HasPrivacyAnnotation a => a -> PrivacyAnnotation
class HasSeverityAnnotation a
getSeverityAnnotation :: HasSeverityAnnotation a => a -> Severity
getSeverityAnnotation :: HasSeverityAnnotation a => a -> Severity
data TracingVerbosity
MinimalVerbosity :: TracingVerbosity
NormalVerbosity :: TracingVerbosity
MaximalVerbosity :: TracingVerbosity
appendName :: LoggerName -> Trace m a -> Trace m a
contramap :: Contravariant f => (a -> b) -> f b -> f a
defaultConfigStdout :: IO Configuration
defaultConfigTesting :: IO Configuration
mkLOMeta :: MonadIO m => Severity -> PrivacyAnnotation -> m LOMeta

-- | this <a>Tracer</a> forgets about all arguments
nullTracer :: forall (m :: Type -> Type) a. Applicative m => Tracer m a
setupTrace :: (MonadIO m, ToJSON a, FromJSON a, ToObject a) => Either FilePath Configuration -> Text -> m (Trace m a)

-- | trace an observable value with a <a>Tracer</a>
traceWith :: Tracer m a -> a -> m ()

module Paths_iohk_monitoring
version :: Version
getBinDir :: IO FilePath
getLibDir :: IO FilePath
getDynLibDir :: IO FilePath
getDataDir :: IO FilePath
getLibexecDir :: IO FilePath
getDataFileName :: FilePath -> IO FilePath
getSysconfDir :: IO FilePath
