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

Safe Haskell None Haskell98

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

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

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

Enable tracing to the supplied process and wait for a TraceOk response from the trace coordinator process.

Enable tracing to the supplied process.

Disable the currently configured trace and wait for a TraceOk response from the trace coordinator process.

Disable the currently configured trace.

Set the given flags for the current tracer and wait for a TraceOk response from the trace coordinator process.

Set the given flags for the current tracer.

traceOnly :: Traceable a => [a] -> Maybe TraceSubject Source #

Turn tracing for for a subset of trace targets.

Trace all targets.

Trace no targets.