An OpenTracing-compliant, simple, and extensible distributed tracing library.
- Simple: add a single
MonadTrace
constraint to start tracing, without making your code harder to test! - Extensible: use the built-in Zipkin backend or hook in your own trace publication logic.
import Monitor.Tracing
-- A traced action with its root span and two children.
run :: MonadTrace m => m ()
run = rootSpan alwaysSampled "parent" $ do
childSpan "child-a" runA
childSpan "child-b" runB
To learn more, hop on over to
Monitor.Tracing
,
or take a look at examples in the examples/
folder.