module OpenTelemetry.Exporter where data ExportResult = ExportSuccess | ExportFailedRetryable | ExportFailedNotRetryable deriving (Int -> ExportResult -> ShowS [ExportResult] -> ShowS ExportResult -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [ExportResult] -> ShowS $cshowList :: [ExportResult] -> ShowS show :: ExportResult -> String $cshow :: ExportResult -> String showsPrec :: Int -> ExportResult -> ShowS $cshowsPrec :: Int -> ExportResult -> ShowS Show, ExportResult -> ExportResult -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: ExportResult -> ExportResult -> Bool $c/= :: ExportResult -> ExportResult -> Bool == :: ExportResult -> ExportResult -> Bool $c== :: ExportResult -> ExportResult -> Bool Eq) data Exporter thing = Exporter { forall thing. Exporter thing -> [thing] -> IO ExportResult export :: [thing] -> IO ExportResult, forall thing. Exporter thing -> IO () shutdown :: IO () } noopExporter :: Exporter whatever noopExporter :: forall whatever. Exporter whatever noopExporter = forall thing. ([thing] -> IO ExportResult) -> IO () -> Exporter thing Exporter (forall a b. a -> b -> a const (forall (f :: * -> *) a. Applicative f => a -> f a pure ExportResult ExportFailedNotRetryable)) (forall (f :: * -> *) a. Applicative f => a -> f a pure ())