{-# LANGUAGE PatternSynonyms #-} module OpenTelemetry.Processor {-# DEPRECATED "use OpenTelemetry.Processor.Span instead" #-} ( Processor, SpanProcessor ( Processor, processorOnStart, processorOnEnd, processorShutdown, processorForceFlush ), ShutdownResult (..), ) where import Control.Concurrent.Async (Async) import Data.IORef (IORef) import OpenTelemetry.Context (Context) import OpenTelemetry.Internal.Trace.Types (ImmutableSpan) import OpenTelemetry.Processor.Span {-# DEPRECATED Processor "use SpanProcessor instead" #-} type Processor = SpanProcessor pattern Processor :: (IORef ImmutableSpan -> Context -> IO ()) -> (IORef ImmutableSpan -> IO ()) -> IO (Async ShutdownResult) -> IO () -> SpanProcessor pattern $mProcessor :: forall {r}. SpanProcessor -> ((IORef ImmutableSpan -> Context -> IO ()) -> (IORef ImmutableSpan -> IO ()) -> IO (Async ShutdownResult) -> IO () -> r) -> ((# #) -> r) -> r $bProcessor :: (IORef ImmutableSpan -> Context -> IO ()) -> (IORef ImmutableSpan -> IO ()) -> IO (Async ShutdownResult) -> IO () -> SpanProcessor Processor {SpanProcessor -> IORef ImmutableSpan -> Context -> IO () processorOnStart, SpanProcessor -> IORef ImmutableSpan -> IO () processorOnEnd, SpanProcessor -> IO (Async ShutdownResult) processorShutdown, SpanProcessor -> IO () processorForceFlush} = SpanProcessor { spanProcessorOnStart = processorOnStart , spanProcessorOnEnd = processorOnEnd , spanProcessorShutdown = processorShutdown , spanProcessorForceFlush = processorForceFlush }