freckle-app-1.18.0.0: Haskell application toolkit used at Freckle
Safe HaskellSafe-Inferred
LanguageHaskell2010

Freckle.App.OpenTelemetry.Context

Synopsis

Documentation

newtype CustomTraceContext Source #

A type that can be stored as the custom field of a Faktory Job

Constructors

CustomTraceContext 

Fields

Instances

Instances details
FromJSON CustomTraceContext Source # 
Instance details

Defined in Freckle.App.OpenTelemetry.Context

ToJSON CustomTraceContext Source # 
Instance details

Defined in Freckle.App.OpenTelemetry.Context

Monoid CustomTraceContext Source # 
Instance details

Defined in Freckle.App.OpenTelemetry.Context

Semigroup CustomTraceContext Source # 
Instance details

Defined in Freckle.App.OpenTelemetry.Context

Generic CustomTraceContext Source # 
Instance details

Defined in Freckle.App.OpenTelemetry.Context

Associated Types

type Rep CustomTraceContext :: Type -> Type #

HasHeaders CustomTraceContext Source # 
Instance details

Defined in Freckle.App.OpenTelemetry.Context

type Rep CustomTraceContext Source # 
Instance details

Defined in Freckle.App.OpenTelemetry.Context

type Rep CustomTraceContext = D1 ('MetaData "CustomTraceContext" "Freckle.App.OpenTelemetry.Context" "freckle-app-1.18.0.0-2fHYalXegizCEMAemp4Ydl" 'True) (C1 ('MetaCons "CustomTraceContext" 'PrefixI 'True) (S1 ('MetaSel ('Just "traceHeaders") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [(Text, Text)])))

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

processWithContext Source #

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