opentelemetry-0.5.0: src/OpenTelemetry/SpanContext.hs
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
module OpenTelemetry.SpanContext where
import Data.Hashable
import Data.Word
import GHC.Generics
import Text.Printf
newtype TraceId = TId Word64
deriving (Eq, Ord, Generic, Hashable)
instance Show TraceId where
show (TId tid) = printf "(TId 0x%x)" tid
newtype SpanId = SId Word64
deriving (Eq, Ord, Generic, Hashable)
instance Show SpanId where
show (SId sid) = printf "(SId 0x%x)" sid
data SpanContext = SpanContext !SpanId !TraceId
deriving (Show, Eq, Ord, Generic)