packages feed

lightstep-haskell 0.1.4 → 0.1.5

raw patch · 3 files changed

+25/−8 lines, 3 files

Files

lightstep-haskell.cabal view
@@ -1,7 +1,7 @@ cabal-version: 2.4  name:           lightstep-haskell-version:        0.1.4+version:        0.1.5 synopsis:       LightStep OpenTracing client library description:    LightStep OpenTracing client library. Uses GRPC transport via proto-lens. category:       Tools
src/LightStep/HighLevel/IO.hs view
@@ -97,10 +97,11 @@         shutdown client = do           d_ "Getting the last spans before shutdown"           spans <- liftIO $ atomically $ flushTBQueue globalSharedMutableSingletonState-          d_ $ "Got " <> show (length spans) <> " spans"-          when (not $ null spans) $+          when (not $ null spans) $ do+            d_ $ "Got " <> show (length spans) <> " spans"             reportSpans client spans-          d_ $ "Reported " <> show (length spans) <> " spans"+            d_ $ "Reported " <> show (length spans) <> " spans"+          d_ "No more spans"           closeClient client           d_ "Client closed"           liftIO $ putMVar doneVar ()@@ -113,10 +114,19 @@               work client               loop         loop-    pure ()  submitSpan :: Span -> IO ()-submitSpan = atomically . writeTBQueue globalSharedMutableSingletonState+submitSpan sp = do+  written <- atomically $ tryWriteTBQueue globalSharedMutableSingletonState sp+  when (not written) $ do+    d_ "internal span queue is full, dropping the span"++tryWriteTBQueue :: TBQueue a -> a -> STM Bool+tryWriteTBQueue q a = isFullTBQueue q >>= \case+  True -> pure False+  _ -> do+    writeTBQueue q a+    pure True  -- TODO: handle span batches larger that queue size submitSpans :: Foldable f => f Span -> IO ()
src/LightStep/LowLevel.hs view
@@ -31,6 +31,7 @@  reportSpans :: LightStepClient -> [Span] -> ExceptT ClientError IO () reportSpans (LightStepClient grpc token rep) sps = do+  d_ $ show ("RPC timeout", (\(Timeout t) -> t) $ _grpcClientTimeout grpc)   ret <-     rawUnary       (RPC :: RPC CollectorService "report")@@ -40,13 +41,19 @@           & spans .~ sps           & reporter .~ rep       )-  d_ (show ret)+  d_ $ show ret   -- FIXME: handle errors   pure ()  mkClient :: LightStepConfig -> ClientIO LightStepClient mkClient LightStepConfig {..} = do-  grpc <- setupGrpcClient ((grpcClientConfigSimple lsHostName lsPort True) {_grpcClientConfigCompression = compression})+  grpc <-+    setupGrpcClient+      ( (grpcClientConfigSimple lsHostName lsPort True)+          { _grpcClientConfigCompression = compression,+            _grpcClientConfigTimeout = Timeout 5 -- seconds+          }+      )   pure $ LightStepClient grpc lsToken rep   where     compression = if False then gzip else uncompressed