datadog-tracing 1.4.2 → 1.5.0
raw patch · 3 files changed
+6/−47 lines, 3 filesdep +jaeger-flamegraphdep ~QuickCheck
Dependencies added: jaeger-flamegraph
Dependency ranges changed: QuickCheck
Files
- datadog-tracing.cabal +3/−2
- exe/Main.hs +1/−0
- library/Datadog/Jaeger.hs +2/−45
datadog-tracing.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.2 name: datadog-tracing-version: 1.4.2+version: 1.5.0 synopsis: Datadog tracing client and mock agent. license: BSD-3-Clause license-file: LICENSE@@ -34,6 +34,7 @@ build-depends: , base ^>= 4.11.1.0 || ^>= 4.12.0.0 , bytestring ^>= 0.10.8.2 , containers ^>= 0.5.11.0 || ^>= 0.6.0.1+ , jaeger-flamegraph ^>= 1.3.0 , mtl ^>= 2.2.2 , text ^>= 1.2.3.1 , aeson ^>= 1.4.1.0@@ -61,7 +62,7 @@ , time ^>= 1.8.0.2 , unordered-containers ^>= 0.2.9.0 , vector ^>= 0.12.0.2- , QuickCheck ^>= 2.11.3+ , QuickCheck ^>= 2.11.3 || ^>= 2.12.6.1 , quickcheck-text ^>= 0.1.2.1 executable datadog-agent
exe/Main.hs view
@@ -13,6 +13,7 @@ import Data.Default (def) import Data.IORef import qualified Data.Map.Strict as M+import Jaeger.Data import Network.Wai.Handler.Warp (run) import Network.Wai.Middleware.RequestLogger import Network.Wai.Middleware.RequestLogger.JSON (formatAsJSON)
library/Datadog/Jaeger.hs view
@@ -14,12 +14,10 @@ import Data.Aeson import Data.List (nub)-import Data.Map.Strict (Map) import qualified Data.Map.Strict as M import Data.Maybe (mapMaybe, maybeToList)-import Data.Text (Text) import qualified Data.Text as T-import GHC.Generics (Generic)+import Jaeger.Data import Servant.API import qualified Datadog.Agent as Agent@@ -49,45 +47,4 @@ (ProcessID spanService) services spans = nub $ Agent.spanService <$> spans showt = T.pack . show- mkTag (k, v) = Tag k v--newtype Jaeger = Jaeger [Data]-instance ToJSON Jaeger where- toJSON (Jaeger dat) = object ["data" .= dat]--newtype TraceID = TraceID Text deriving newtype (Eq, Ord, ToJSON)-newtype SpanID = SpanID Text deriving newtype (Eq, Ord, ToJSON)-newtype ProcessID = ProcessID Text deriving newtype (Eq, Ord, ToJSON, ToJSONKey)-newtype Name = Name Text deriving newtype (Eq, ToJSON)--data Data = Data- { traceID :: TraceID- , spans :: [Span]- , processes :: Map ProcessID Process- } deriving (Generic, ToJSON)--data Process = Process- { serviceName :: Text- } deriving (Generic, ToJSON)--data Span = Span- { spanID :: SpanID- , traceID :: TraceID- , operationName :: Name- , references :: [Reference]- , startTime :: Integer- , duration :: Integer- , tags :: [Tag]- , processID :: ProcessID- } deriving (Generic, ToJSON)--data Reference = Reference- { traceID :: TraceID- , spanID :: SpanID- } deriving (Eq, Ord, Generic, ToJSON)--data Tag = Tag- { key :: Text- , value :: Text- } deriving (Eq, Generic)- deriving anyclass (ToJSON)+ mkTag (k, v) = Tag k (String v)