1module Control.Distributed.Process.Management.Internal.Trace.Remote
2 ( -- * Configuring A Remote Tracer
9import Control.Distributed.Process.Internal.Closure.BuiltIn
12import Control.Distributed.Process.Internal.Primitives
17import Control.Distributed.Process.Management.Internal.Trace.Types
21import Control.Distributed.Process.Management.Internal.Trace.Primitives
22 ( withRegisteredTracer
25import Control.Distributed.Process.Internal.Spawn
28import Control.Distributed.Process.Internal.Types
34import Control.Distributed.Static
38import Data.Rank1Dynamic (toDynamic)
41remoteTable :: RemoteTable -> RemoteTable
42remoteTable = registerStatic "$enableTraceRemote" (toDynamic enableTraceRemote)
44enableTraceRemote :: ProcessId -> Process ()
45enableTraceRemote pid =
46 getSelfPid >>= enableTrace >> relay pid
48-- | Starts a /trace relay/ process on the remote node, which forwards all trace
49-- events to the registered tracer on /this/ (the calling process') node.
50startTraceRelay :: NodeId -> Process ProcessId
51startTraceRelay nodeId = do
52 withRegisteredTracer $ \pid ->
53 spawn nodeId $ cpEnableTraceRemote pid
55-- | Set the given flags for a remote node (asynchronous).
56setTraceFlagsRemote :: TraceFlags -> NodeId -> Process ()
57setTraceFlagsRemote flags node = do
60 ((Nothing :: Maybe (SendPort TraceOk)), flags)
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list