Safe Haskell | None |
---|---|
Language | Haskell98 |
Keeps the tracing API calls separate from the Tracer implementation,
which allows us to avoid a nasty import cycle between tracing and
the messaging primitives that rely on it, and also between the node
controller (which requires access to the tracing related elements of
our RemoteTable) and the Debug module, which requires forkProcess
.
This module is also used by the management agent, which relies on the
tracing infrastructure's messaging fabric.
- traceLog :: String -> Process ()
- traceLogFmt :: String -> [TraceArg] -> Process ()
- traceMessage :: Serializable m => m -> Process ()
- defaultTraceFlags :: TraceFlags
- enableTrace :: ProcessId -> Process ()
- enableTraceAsync :: ProcessId -> Process ()
- disableTrace :: Process ()
- disableTraceAsync :: Process ()
- getTraceFlags :: Process TraceFlags
- setTraceFlags :: TraceFlags -> Process ()
- setTraceFlagsAsync :: TraceFlags -> Process ()
- traceOnly :: Traceable a => [a] -> Maybe TraceSubject
- traceOn :: Maybe TraceSubject
- traceOff :: Maybe TraceSubject
- withLocalTracer :: (MxEventBus -> Process ()) -> Process ()
- withRegisteredTracer :: (ProcessId -> Process a) -> Process a
Sending Trace Data
traceLog :: String -> Process () Source
Send a log message to the internal tracing facility. If tracing is enabled, this will create a custom trace log event.
traceLogFmt :: String -> [TraceArg] -> Process () Source
Send a log message to the internal tracing facility, using the given
list of printable TraceArg
s interspersed with the preceding delimiter.
traceMessage :: Serializable m => m -> Process () Source
Send an arbitrary Message
to the tracer process.
Configuring A Tracer
enableTrace :: ProcessId -> Process () Source
Enable tracing to the supplied process and wait for a TraceOk
response from the trace coordinator process.
enableTraceAsync :: ProcessId -> Process () Source
Enable tracing to the supplied process.
disableTrace :: Process () Source
Disable the currently configured trace and wait for a TraceOk
response from the trace coordinator process.
disableTraceAsync :: Process () Source
Disable the currently configured trace.
setTraceFlags :: TraceFlags -> Process () Source
Set the given flags for the current tracer and wait for a TraceOk
response from the trace coordinator process.
setTraceFlagsAsync :: TraceFlags -> Process () Source
Set the given flags for the current tracer.
traceOnly :: Traceable a => [a] -> Maybe TraceSubject Source
Turn tracing for for a subset of trace targets.
traceOn :: Maybe TraceSubject Source
Trace all targets.
traceOff :: Maybe TraceSubject Source
Trace no targets.
withLocalTracer :: (MxEventBus -> Process ()) -> Process () Source
withRegisteredTracer :: (ProcessId -> Process a) -> Process a Source