1module Control.Distributed.Process.Internal.Trace.Remote
2 ( -- * Configuring A Tracer
9import Control.Applicative ((<$>))
10import Control.Distributed.Process.Internal.Closure.BuiltIn
13import Control.Distributed.Process.Internal.Primitives
31import Control.Distributed.Process.Internal.Trace.Types
37import Control.Distributed.Process.Internal.Trace.Primitives
38 ( withRegisteredTracer
41import Control.Distributed.Process.Internal.Spawn
44import Control.Distributed.Process.Internal.Types
50import Control.Distributed.Process.Serializable
51import Control.Distributed.Static
55import Data.Rank1Dynamic (toDynamic)
56import qualified Data.Set as Set (fromList)
59remoteTable :: RemoteTable -> RemoteTable
60remoteTable = registerStatic "$enableTraceRemote" (toDynamic enableTraceRemote)
62enableTraceRemote :: ProcessId -> Process ()
63enableTraceRemote pid =
64 getSelfPid >>= enableTrace >> relay pid
66-- | Starts a /trace relay/ process on the remote node, that forwards all trace
67-- events to the registered tracer on /this/ (the calling process') node.
68startTraceRelay :: NodeId -> Process ProcessId
69startTraceRelay nodeId = do
70 withRegisteredTracer $ \pid ->
71 -- TODO: move cpEnableTraceRemote here?
72 spawn nodeId $ cpEnableTraceRemote pid
74-- | Set the given flags for a remote node (asynchronous).
75setTraceFlagsRemote :: TraceFlags -> NodeId -> Process ()
76setTraceFlagsRemote flags node = do
79 ((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