content: -----------------------------------------------------------------------------
  
  -----------------------------------------------------------------------------
  
  {- |
   Module      :  OpenTelemetry.Trace.Id
   Copyright   :  (c) Ian Duncan, 2021
   License     :  BSD-3
   Description :  Trace and Span ID generation, validation, serialization, and deserialization
   Maintainer  :  Ian Duncan
   Stability   :  experimental
   Portability :  non-portable (GHC extensions)
  
   Trace and Span Id generation
  
   No Aeson instances are provided since they've got the potential to be
   transport-specific in format. Use newtypes for serialisation instead.
  -}
  module OpenTelemetry.Trace.Id (
    -- * Working with 'TraceId's
    TraceId,
  
    -- ** Creating 'TraceId's
    newTraceId,
  
    -- ** Checking 'TraceId's for validity
    isEmptyTraceId,
  
    -- ** Encoding / decoding 'TraceId' from bytes
    traceIdBytes,
    bytesToTraceId,
  
    -- ** Encoding / decoding 'TraceId' from a given 'Base' encoding
    baseEncodedToTraceId,
    traceIdBaseEncodedBuilder,
    traceIdBaseEncodedByteString,
    traceIdBaseEncodedText,
  
    -- * Working with 'SpanId's
    SpanId,
  
    -- ** Creating 'SpanId's
    newSpanId,
  
    -- ** Checking 'SpanId's for validity
    isEmptySpanId,
  
    -- ** Encoding / decoding 'SpanId' from bytes
    spanIdBytes,
    bytesToSpanId,
  
    -- ** Encoding / decoding 'SpanId' from a given 'Base' encoding
    Base (..),
    baseEncodedToSpanId,
    spanIdBaseEncodedBuilder,
    spanIdBaseEncodedByteString,
    spanIdBaseEncodedText,
  ) where
  
  import OpenTelemetry.Internal.Trace.Id
  
  