{-# LANGUAGE PatternSynonyms #-}
module OpenTelemetry.Exporter
{-# DEPRECATED "use OpenTelemetry.Exporter.Span instead" #-} (
Exporter,
mkExporter,
SpanExporter (..),
ExportResult (..),
) where
import Data.HashMap.Strict (HashMap)
import Data.Vector (Vector)
import OpenTelemetry.Exporter.Span
import OpenTelemetry.Internal.Common.Types (FlushResult (..), InstrumentationLibrary, ShutdownResult (..))
import OpenTelemetry.Internal.Trace.Types (ImmutableSpan)
{-# DEPRECATED Exporter "use SpanExporter instead" #-}
type Exporter a = SpanExporter
{-# DEPRECATED mkExporter "use SpanExporter constructor directly" #-}
mkExporter :: (HashMap InstrumentationLibrary (Vector ImmutableSpan) -> IO ExportResult) -> IO () -> Exporter ImmutableSpan
mkExporter :: (HashMap InstrumentationLibrary (Vector ImmutableSpan)
-> IO ExportResult)
-> IO () -> Exporter ImmutableSpan
mkExporter HashMap InstrumentationLibrary (Vector ImmutableSpan)
-> IO ExportResult
export IO ()
shutdown =
SpanExporter
{ spanExporterExport :: HashMap InstrumentationLibrary (Vector ImmutableSpan)
-> IO ExportResult
spanExporterExport = HashMap InstrumentationLibrary (Vector ImmutableSpan)
-> IO ExportResult
export
, spanExporterShutdown :: IO ShutdownResult
spanExporterShutdown = IO ()
shutdown IO () -> IO ShutdownResult -> IO ShutdownResult
forall a b. IO a -> IO b -> IO b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> ShutdownResult -> IO ShutdownResult
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure ShutdownResult
ShutdownSuccess
, spanExporterForceFlush :: IO FlushResult
spanExporterForceFlush = FlushResult -> IO FlushResult
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure FlushResult
FlushSuccess
}