tracing-control: Distributed tracing

[ bsd3, library, web ] [ Propose Tags ]

An OpenTracing-compliant, simple, and extensible distributed tracing library. This is a fork of tracing which switches from unliftio to monad-control.

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS] 0.0.6,,
Dependencies aeson (>=1.4), base (>=4.9 && <5), base16-bytestring (>=1.0), bytestring (>=0.10), case-insensitive (>=1.2), containers (>=0.6), http-client (>=0.5), lifted-base (>=0.2), monad-control (>=1.0), mtl (>=2.2), network (>=2.8), random (>=1.1), stm (>=2.5), stm-lifted (>=2.5), text (>=1.2), time (>=1.8 && <1.13), transformers (>=0.5), transformers-base (>=0.4) [details]
License BSD-3-Clause
Copyright 2020 Matthieu Monsch
Author Matthieu Monsch, Alejandro Serrano
Category Web
Home page
Source repo head: git clone
Uploaded by AlejandroSerrano at 2022-03-20T19:07:43Z
Reverse Dependencies 2 direct, 0 indirect [details]
Downloads 522 total (5 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for tracing-control-

[back to package description]

Tracing Hackage

Important note: this is a fork of the original tracing library in which unliftio has been replaced by monad-control.

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.