| Safe Haskell | Safe-Inferred |
|---|---|
| Language | GHC2021 |
Freckle.App.OpenTelemetry.Context
Synopsis
- class HasHeaders a where
- newtype CustomTraceContext = CustomTraceContext {
- traceHeaders :: [(Text, Text)]
- extractContext :: (MonadIO m, MonadTracer m, HasHeaders a) => a -> m ()
- injectContext :: (MonadIO m, MonadTracer m, HasHeaders a) => a -> m a
- processWithContext :: (MonadUnliftIO m, MonadMask m, MonadTracer m, HasHeaders a, HasCallStack) => Text -> SpanArguments -> a -> (a -> m b) -> m b
Documentation
class HasHeaders a where Source #
Instances
newtype CustomTraceContext Source #
A type that can be stored as the custom field of a Faktory Job
Constructors
| CustomTraceContext | |
Fields
| |
Instances
extractContext :: (MonadIO m, MonadTracer m, HasHeaders a) => a -> m () Source #
Update our trace context from that extracted from the given item's headers
injectContext :: (MonadIO m, MonadTracer m, HasHeaders a) => a -> m a Source #
Inject our trace context into the given item's headers
Arguments
| :: (MonadUnliftIO m, MonadMask m, MonadTracer m, HasHeaders a, HasCallStack) | |
| => Text | Span name |
| -> SpanArguments | |
| -> a | |
| -> (a -> m b) | |
| -> m b |
Process an item (a request, a Job, etc) in a top-level span and context