datadog-tracing 1.3.3 → 1.4.0
raw patch · 4 files changed
+10/−22 lines, 4 filesdep ~wai-extra
Dependency ranges changed: wai-extra
Files
- datadog-tracing.cabal +2/−2
- library/Datadog/Agent.hs +1/−15
- library/Datadog/Client.hs +6/−3
- manual-test/Main.hs +1/−2
datadog-tracing.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.2 name: datadog-tracing-version: 1.3.3+version: 1.4.0 synopsis: Datadog tracing client and mock agent. license: BSD-3-Clause license-file: LICENSE@@ -71,7 +71,7 @@ build-depends: , datadog-tracing , data-default ^>= 0.7.1.1 , servant-server ^>= 0.14.1- , wai-extra ^>= 3.0.25+ , wai-extra ^>= 3.0.24 || ^>= 3.0.25 , warp ^>= 3.2.25 ghc-options: -threaded
library/Datadog/Agent.hs view
@@ -71,7 +71,7 @@ , spanDuration :: Int64 , spanError :: Maybe Int32 , spanMeta :: Maybe (Map Text Text)- , spanMetrics :: Maybe Metrics+ , spanMetrics :: Maybe (Map Text Double) , spanType :: Maybe Text } deriving (Generic) @@ -112,20 +112,6 @@ <*> v .:? "meta" .!= Nothing <*> v .:? "metrics" .!= Nothing <*> v .:? "type" .!= Nothing---- See TraceResponse-data Metrics = Metrics Int deriving (Generic)--instance Arbitrary Metrics where- arbitrary = genericArbitraryU--instance ToJSON Metrics where- toJSON (Metrics priority) = object- [ "_sampling_priority_v1" .= priority ]--instance FromJSON Metrics where- parseJSON = withObject "Metrics" $ \v ->- Metrics <$> v .: "_sampling_priority_v1" -- "rate" is a number between `[0.0, 1.0]` indicating the desired percentage of -- traces that the agent wishes to downsample for a given service (`0.0` meaning
library/Datadog/Client.hs view
@@ -122,11 +122,14 @@ duration meta err)) =- let metrics = (\_ -> API.Metrics 2) <$> parent -- never sample+ -- Magic undocumented flags: never sample, always search+ let metrics = M.insert "_dd1.sr.eausr" 1 $ case parent of+ Just _ -> M.singleton "_sampling_priority_v1" 2+ Nothing -> M.empty in API.Span serviceName spanName- "time" -- not using resource, but it is required+ spanName -- not using resource traceId spanId ((\(SpanId (unrefine -> p)) -> p) <$> parent)@@ -134,7 +137,7 @@ (nominalToNanos duration) (if err then Just 1 else Nothing) ((\m -> (M.map unValue) . (M.mapKeys unKey) $ m) <$> meta)- metrics+ (Just metrics) Nothing -- not using type unKey (MetaKey (unrefine -> k)) = k
manual-test/Main.hs view
@@ -45,10 +45,9 @@ spanid <- randomWord64 let http = client (Proxy @ Traces3) env = mkClientEnv mgr base- metrics = Just $ Metrics 2 traces = [ (Trace [ Span "tester" "span" "time" traceid spanid Nothing start 800971- Nothing Nothing metrics Nothing+ Nothing Nothing Nothing Nothing ]) ] putStrLn (LT.unpack . encodeToLazyText $ traces)