hs-opentelemetry-sdk 0.0.3.4 → 0.0.3.5
raw patch · 3 files changed
+24/−16 lines, 3 filesdep +hs-opentelemetry-propagator-b3
Dependencies added: hs-opentelemetry-propagator-b3
Files
- hs-opentelemetry-sdk.cabal +16/−14
- src/OpenTelemetry/Processor/Batch.hs +5/−0
- src/OpenTelemetry/Trace.hs +3/−2
hs-opentelemetry-sdk.cabal view
@@ -1,22 +1,22 @@ cabal-version: 1.22 --- This file has been generated from package.yaml by hpack version 0.34.5.+-- This file has been generated from package.yaml by hpack version 0.35.2. -- -- see: https://github.com/sol/hpack -name: hs-opentelemetry-sdk-version: 0.0.3.4-synopsis: OpenTelemetry SDK for use in applications.-description: Please see the README on GitHub at <https://github.com/iand675/hs-opentelemetry/tree/main/sdk#readme>-category: OpenTelemetry, Telemetry, Monitoring, Observability, Metrics-homepage: https://github.com/iand675/hs-opentelemetry#readme-bug-reports: https://github.com/iand675/hs-opentelemetry/issues-author: Ian Duncan, Jade Lovelace-maintainer: ian@iankduncan.com-copyright: 2022 Ian Duncan-license: BSD3-license-file: LICENSE-build-type: Simple+name: hs-opentelemetry-sdk+version: 0.0.3.5+synopsis: OpenTelemetry SDK for use in applications.+description: Please see the README on GitHub at <https://github.com/iand675/hs-opentelemetry/tree/main/sdk#readme>+category: OpenTelemetry, Telemetry, Monitoring, Observability, Metrics+homepage: https://github.com/iand675/hs-opentelemetry#readme+bug-reports: https://github.com/iand675/hs-opentelemetry/issues+author: Ian Duncan, Jade Lovelace+maintainer: ian@iankduncan.com+copyright: 2023 Ian Duncan, Mercury Technologies+license: BSD3+license-file: LICENSE+build-type: Simple extra-source-files: README.md ChangeLog.md@@ -75,6 +75,7 @@ , bytestring , hs-opentelemetry-api ==0.0.3.* , hs-opentelemetry-exporter-otlp ==0.0.1.*+ , hs-opentelemetry-propagator-b3 ==0.0.1.* , hs-opentelemetry-propagator-w3c ==0.0.1.* , http-types , mwc-random@@ -110,6 +111,7 @@ , clock , hs-opentelemetry-api , hs-opentelemetry-exporter-otlp ==0.0.1.*+ , hs-opentelemetry-propagator-b3 ==0.0.1.* , hs-opentelemetry-propagator-w3c ==0.0.1.* , hs-opentelemetry-sdk , hspec
src/OpenTelemetry/Processor/Batch.hs view
@@ -22,6 +22,7 @@ -- , BatchProcessorOperations ) where +import Control.Concurrent (rtsSupportsBoundThreads) import Control.Concurrent.Async import Control.Concurrent.STM import Control.Exception@@ -225,9 +226,13 @@ {- | The batch processor accepts spans and places them into batches. Batching helps better compress the data and reduce the number of outgoing connections required to transmit the data. This processor supports both size and time based batching.++ NOTE: this function requires the program be compiled with the @-threaded@ GHC+ option and will throw an error if this is not the case. -} batchProcessor :: MonadIO m => BatchTimeoutConfig -> Exporter ImmutableSpan -> m Processor batchProcessor BatchTimeoutConfig {..} exporter = liftIO $ do+ unless rtsSupportsBoundThreads $ error "The hs-opentelemetry batch processor does not work without the -threaded GHC flag!" batch <- newIORef $ boundedMap maxQueueSize workSignal <- newEmptyTMVarIO shutdownSignal <- newEmptyTMVarIO
src/OpenTelemetry/Trace.hs view
@@ -165,6 +165,7 @@ import OpenTelemetry.Processor (Processor) import OpenTelemetry.Processor.Batch (BatchTimeoutConfig (..), batchProcessor, batchTimeoutConfig) import OpenTelemetry.Propagator (Propagator)+import OpenTelemetry.Propagator.B3 (b3MultiTraceContextPropagator, b3TraceContextPropagator) import OpenTelemetry.Propagator.W3CBaggage (w3cBaggagePropagator) import OpenTelemetry.Propagator.W3CTraceContext (w3cTraceContextPropagator) import OpenTelemetry.Resource@@ -287,8 +288,8 @@ knownPropagators = [ ("tracecontext", w3cTraceContextPropagator) , ("baggage", w3cBaggagePropagator)- , ("b3", error "B3 not yet implemented")- , ("b3multi", error "B3 multi not yet implemented")+ , ("b3", b3TraceContextPropagator)+ , ("b3multi", b3MultiTraceContextPropagator) , ("jaeger", error "Jaeger not yet implemented") ]