packages feed

hs-opentelemetry-sdk 0.1.0.0 → 0.1.0.1

raw patch · 4 files changed

+50/−16 lines, 4 filesdep ~hs-opentelemetry-apidep ~hs-opentelemetry-propagator-w3c

Dependency ranges changed: hs-opentelemetry-api, hs-opentelemetry-propagator-w3c

Files

ChangeLog.md view
@@ -1,5 +1,11 @@ # Changelog for hs-opentelemetry-sdk +## Unreleased++## 0.1.0.1++- Update dependency bounds for hs-opentelemetry-api 0.3.0.0+ ## 0.1.0.0  - Support new versions of dependencies.
hs-opentelemetry-sdk.cabal view
@@ -1,11 +1,11 @@ cabal-version: 1.22 --- This file has been generated from package.yaml by hpack version 0.36.0.+-- This file has been generated from package.yaml by hpack version 0.37.0. -- -- see: https://github.com/sol/hpack  name:               hs-opentelemetry-sdk-version:            0.1.0.0+version:            0.1.0.1 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@@ -81,11 +81,11 @@       async     , base >=4.7 && <5     , bytestring-    , hs-opentelemetry-api ==0.2.*+    , hs-opentelemetry-api ==0.3.*     , hs-opentelemetry-exporter-otlp ==0.1.*     , hs-opentelemetry-propagator-b3 >=0.0.1 && <0.1     , hs-opentelemetry-propagator-datadog >=0.0.0 && <0.1-    , hs-opentelemetry-propagator-w3c >=0.0.1 && <0.1+    , hs-opentelemetry-propagator-w3c >=0.1.0 && <0.2     , http-types     , network-bsd     , random >=1.2.0
src/OpenTelemetry/Trace.hs view
@@ -291,7 +291,7 @@ -}  -knownPropagators :: [(T.Text, Propagator Context RequestHeaders ResponseHeaders)]+knownPropagators :: [(T.Text, Propagator Context RequestHeaders RequestHeaders)] knownPropagators =   [ ("tracecontext", w3cTraceContextPropagator)   , ("baggage", w3cBaggagePropagator)@@ -303,7 +303,7 @@   -- TODO, actually implement a registry systme-readRegisteredPropagators :: IO [(T.Text, Propagator Context RequestHeaders ResponseHeaders)]+readRegisteredPropagators :: IO [(T.Text, Propagator Context RequestHeaders RequestHeaders)] readRegisteredPropagators = pure knownPropagators  @@ -375,7 +375,7 @@       pure (processors, providerOpts)  -detectPropagators :: IO (Propagator Context RequestHeaders ResponseHeaders)+detectPropagators :: IO (Propagator Context RequestHeaders RequestHeaders) detectPropagators = do   registeredPropagators <- readRegisteredPropagators   propagatorsInEnv <- fmap (T.splitOn "," . T.pack) <$> lookupEnv "OTEL_PROPAGATORS"
test/OpenTelemetry/TraceSpec.hs view
@@ -252,15 +252,33 @@       spanAttributes s `shouldSatisfy` \attrs ->         (lookupAttribute attrs "code.function") == Just (toAttribute @Text "f")           && (lookupAttribute attrs "code.namespace") == Just (toAttribute @Text "OpenTelemetry.TraceSpec")+          && (lookupAttribute attrs "code.lineno") == Just (toAttribute @Int 330) -    specify "Source code attributes are added correctly in the presence of frozen call stacks" $ asIO $ do+    specify "Source code attributes are not added in the presence of frozen call stacks" $ asIO $ do       p <- getGlobalTracerProvider       let t = makeTracer p "woo" tracerOptions       s <- unsafeReadSpan =<< g3 t       spanAttributes s `shouldSatisfy` \attrs ->-        (lookupAttribute attrs "code.function") == Just (toAttribute @Text "g")-          && (lookupAttribute attrs "code.namespace") == Just (toAttribute @Text "OpenTelemetry.TraceSpec")+        (lookupAttribute attrs "code.function") == Nothing+          && (lookupAttribute attrs "code.namespace") == Nothing+          && (lookupAttribute attrs "code.lineno") == Nothing +    specify "Source code attributes are not added if source attributes are already present" $ asIO $ do+      p <- getGlobalTracerProvider+      let t = makeTracer p "woo" tracerOptions+      s <- unsafeReadSpan =<< h t+      spanAttributes s `shouldSatisfy` \attrs ->+        (lookupAttribute attrs "code.function") == Just (toAttribute @Text "something")+          && (lookupAttribute attrs "code.namespace") == Nothing+          && (lookupAttribute attrs "code.lineno") == Nothing++    specify "Source code attributes can be added for span creation wrappers" $ asIO $ do+      p <- getGlobalTracerProvider+      let t = makeTracer p "woo" tracerOptions+      s <- unsafeReadSpan =<< useSpanHelper t+      spanAttributes s `shouldSatisfy` \attrs ->+        (lookupAttribute attrs "code.function") == Just (toAttribute @Text "useSpanHelper")+     specify "Attribute length limit is respected" $ asIO $ do       p <- getGlobalTracerProvider       let t = makeTracer p "woo" tracerOptions@@ -312,14 +330,9 @@   createSpan tracer Context.empty "name" defaultSpanArguments  -helper :: HasCallStack => Tracer -> IO Span-helper tracer =-  createSpan tracer Context.empty "name" defaultSpanArguments-- g :: HasCallStack => Tracer -> IO Span -- block createSpan and callerAttributes from appearing in the call stack-g tracer = withFrozenCallStack $ helper tracer+g tracer = withFrozenCallStack $ createSpan tracer Context.empty "name" defaultSpanArguments   g2 :: HasCallStack => Tracer -> IO Span@@ -329,3 +342,18 @@ -- Make a 3-deep call stack g3 :: HasCallStack => Tracer -> IO Span g3 tracer = g2 tracer+++h :: HasCallStack => Tracer -> IO Span+h tracer =+  createSpan tracer Context.empty "name" (addAttributesToSpanArguments (HM.singleton "code.function" "something") defaultSpanArguments)+++myInSpan :: HasCallStack => Tracer -> Text -> IO a -> IO (a, Span)+myInSpan tracer name act = inSpan' tracer name (addAttributesToSpanArguments callerAttributes defaultSpanArguments) $ \traceSpan -> do+  res <- act+  pure (res, traceSpan)+++useSpanHelper :: HasCallStack => Tracer -> IO Span+useSpanHelper tracer = snd <$> myInSpan tracer "useSpanHelper" (pure ())