distributed-process-0.5.0: Cloud Haskell: Erlang-style concurrency in Haskell

Safe HaskellNone
LanguageHaskell98

Control.Distributed.Process.Management.Internal.Trace.Primitives

Contents

Description

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.

Synopsis

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 TraceArgs 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.